SQL備份過程出現小幾率主鍵重複問題

2021-10-08 11:48:49 字數 697 閱讀 4832

處理資料備份時候難免出現短時間內多次請求資料備份,由於設定了主鍵約束,造成備份失敗,以下是問題解決關鍵,給主鍵設定時間戳,

concat(id,unix_timestamp())直接拼接時間戳

時間戳再非常短的時間內請求還是會出現主鍵約束問題

insert into 備份表

(id, type)

select concat

(id,

unix_timestamp()

), type

from 主表

現在採用uuid

left(concat(id,uuid()),48)拼接uuid後擷取48位

由於主鍵設定了50約束長度 所以使用left函式擷取一下

insert into 備份表

(id, type)

select left

(concat

(id,

uuid()

),48) id , type

from 主表

測試sql

select left

(concat

(id,

uuid()

),48) id from 主表

這樣就有效解決了備份出現的主鍵約束問題

儲存過程備份SQL日誌

set nocount on declare logicalfilename sysname,maxminutes int,newsize int use abc 要操作的資料庫名 select logicalfilename abc log 日誌檔名 maxminutes 10,limit on ...

SQL備份語句

sql備份語句 完整備份 backup database northwindcs to disk g backup northwindcs full 20070908.bak 差異備份 backup database northwindcs to disk g backup northwindcs ...

SQL資料備份

1.在作業裡面排程,指定一段時間備份一次 保留原來備份的 declare snvarchar 1000 set s n f backup testdb convert nvarchar 8 getdate 112 n bak backup database testdb todisk s 2.在作業...