昨天看服务器提示有补丁升级,就重启了一下服务器。可是今天用户反馈一个记录的Id跳了1000开始,心想这下是不是程序的bug,或者有数据丢失了?
赶紧查,虽是虚惊一场,但还是要吐槽下微软的MSSQL 2012,这个变化居然成了默认设置,开始学Oracle那套Sequence的做法了。
参考了这篇文章:https://www.codeproject.com/Tips/668042/SQL-Server-2012-Auto-Identity-column-Value-Jump-Issue
用了方法2进行了全局设置,不想因为这个改程序,还得升级SQL Server版本。
设置方法如下:
1、打开Sql Server Configuration配置管理器
2、左侧点击Sql Server服务
3、右侧右键点击SQL Server(MSSQLSERVER)
4、点击启动参数
5、在参数里输入 -T272 ,然后点击增加
6、点击确定,手动重启服务后生效
2019年7月14日更新:
参数不能小写,一定要用大写的-T272才能生效。