最近這兩年建立數據庫的自增Id列老是出現一個問題,一開始自增正常,都是一、二、3遞增,忽然就變成100四、1005這樣,一直覺得程序有問題,後來屢次查閱資料纔在國外網站上找到問題。sql
從SQL Server 2012版本開始,從新啓動SQL Server實例時,表的
Identity
值將被跳轉,而實際跳轉的值取決於標識列數據類型。若是爲整數(int
)數據類型,則跳轉值爲1000
;若是爲大整數(bigint
),則跳轉值爲10000
。從咱們的應用程序角度來看,這種增量對於全部業務案例都是不可接受的,特別是當該值顯示給客戶時。這是僅SQL Server 2012附帶的特殊狀況/問題,較早的版本沒有此問題。數據庫
意思就是說,只要重啓SQL Server實例,自增ID就會斷開1000條或10000條。雖然id不連續通常沒什麼影響,但強迫症每每受不了忽然從一兩位數變成四五位數,解決方案也很簡單:服務器
將-t272註冊到SQL Server啓動參數
從服務器中打開SQLServer配置管理器。在sqlserver服務商右鍵選擇「屬性」菜單。您將找到一個選項卡式對話框窗口。從那裏選擇啓動參數選項卡,啓動參數輸入-t272,點擊添加。而後再次從新啓動SQL Server 2012實例。sqlserver