SQL Server 2012以主键自动递增为目标

时间:2019-02-07 10:35:09

标签: sql-server

我正在使用Microsoft的SQL Server 2012。 那里有一张ID为主键和自动递增的表。 现在我看到ID跳得很厉害,例如:

...

4001

4002

4003

14003

14004

24004

24005

...

您知道为什么自动增量如此之大吗?

1 个答案:

答案 0 :(得分:0)

此问题可能与IDENTITY CACHING有关。

这种情况是由于重新启动SQL Server实例(例如通过故障转移)引起的。这不是错误,而是性能功能。

在SQL Server 2017+中,可以通过以下方式避免出现这种情况:

ALTER DATABASE SCOPED CONFIGURATION SET IDENTITY_CACHE = OFF 

但是,这会影响插入过程中IDENTITY生成的性能

在SQL Server 2012中似乎没有解决方法

在以前的版本中,将启用跟踪标记272

DBCC TRACEON (272,-1)