小编典典

SQL Server 2012列标识增量在第7个条目上从6跃升至1000+

sql

我有一个奇怪的场景,其中SQL Server 2012数据库中的自动标识int列未正确递增。

假设我有一个使用int自动标识作为主键的表,它偶尔会跳过增量,例如:

1,2,3,4,5,1004,1005

这是在非常随机的时间在随机数量的表上发生的,无法复制以找到任何趋势。

这是怎么回事?有没有办法使它停止?


阅读 153

收藏
2021-05-05

共1个答案

小编典典

这完全是正常的。微软sequences在SQL Server
2012中添加了,最后,我可能添加和更改了生成身份密钥的方式。在这里看看一些解释。

如果您想保留旧的行为,可以:

  1. 使用跟踪标志272-这将导致为每个生成的标识值生成日志记录。身份生成的性能可能会因打开此跟踪标志而受到影响。
  2. 使用具有NO CACHE设置的序列生成器(http://msdn.microsoft.com/en-us/library/ff878091.aspx
2021-05-05