自動增長 序列,一般用來當做ID 使用。
爲了解決系統自增序列達到上限後系統出現問題,可以設置重置來解決。
DBCC CHECKIDENT ('table_name', NORESEED)
-- 查看當前表的序列的值,table_name爲表名
DBCC CHECKIDENT('table_name',RESEED,1)
-- 重置當前表的序列值爲1,不刪除表的數據。(注意:如果序列爲主鍵,不刪除表的數據的時候,插入同ID的數據時會出錯)
TRUNCATE TABLE 'table_name'
-- 刪除表中的所有的數據的同時,將自動增長序列清零。
在這裏本人是處理系統的日誌問題
在SQL server中創建作業,然後執行指定的命令。用到的 ID 的類型是INT 類型了,所以ID的值自增到2147483647爲最大值,所以在大於2000000000的時候將序列充值。
DECLARE @ERPLOGID INT
SELECT TOP 1 @ERPLOGID=ID FROM TBLERPLOG ORDER BY CREATEDATE DESC
IF @ERPLOGID>2000000000
BEGIN
DBCC CHECKIDENT('TBLERPLOG',RESEED,10086)
END