Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
497 views
in Technique[技术] by (71.8m points)

Identity column value suddenly jumps to 1001 in sql server


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Microsoft has changed the way they deal with identity values in SQL Server 2012 and as a result of this you can see identity gaps between your records after rebooting your SQL server instance or your server machine. There might be some other reasons for this id gaps, it may be due to automatic server restart after installing an update.

You can use below two choices

  • Use trace flag 272 o This will cause a log record to be generated for each generated identity value. The performance of identity generation may be impacted by turning on this trace flag.

  • Use a sequence generator with the NO CACHE setting

    Setting Trace Flag 272 on SQL Server 2012 that you are expecting here

  • Open "SQL Server Configuration Manager"

  • Click "SQL Server Services" on the left pane

  • Right-click on your SQL Server instance name on the right pane ->Default: SQL Server(MSSQLSERVER)

  • Click "Properties"

  • Click "Startup Parameters"

  • On the "specify a startup parameter" textbox type "-T272"

  • Click "Add"

  • Confirm the changes


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...