当SQL Server 2005碰巧达到IDENTITY列的最大值时会发生什么?它是从一开始就开始重新填补空白吗?
SQL Server 2005发生时的行为是什么?
达到最大值时,您将收到溢出错误.如果你使用bigint数据类型的最大值,9,223,372,036,854,775,807
那很可能永远不会是这种情况.
您将收到的错误消息如下所示:
Msg 220, Level 16, State 2, Line 10 Arithmetic overflow error for data type tinyint, value = 256.
(资源)
据我所知,MS SQL没有提供填充身份空白的功能,因此您必须自己执行此操作或更改标识列的数据类型.
除此之外,您还可以将起始值设置为最小的负数,以获得更大的值范围.
这是一篇关于这个主题的好博文.