欢迎光临
个人知识库,ERP、IT知识分享和应用

解决SQL SERVER 2012自增ID突然断开增加的问题(ID突然增加1000)

最近这两年创建数据库的自增Id列总是出现一个问题,一开始自增正常,都是1、2、3递增,突然就变成1004、1005这样,一直以为程序有问题,后来多次查阅资料才在国外网站上找到问题。

从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实例。

 

参考来源:

解决SQL SERVER 2012自增ID突然断开的问题(ID突然增加1000的)

https://www.cnblogs.com/hpnet/p/12577687.html

SqlServer2012自增列值突然增大1000的原因及解决方法

https://www.cnblogs.com/skybreak/p/6229412.html

SQL Server 2012 Auto Identity Column Value Jump Issue

https://www.codeproject.com/Tips/668042/SQL-Server-2012-Auto-Identity-column-Value-Jump-Is

未经允许不得转载:Blog.XiaoMing.Xyz » 解决SQL SERVER 2012自增ID突然断开增加的问题(ID突然增加1000)

登录

找回密码

注册