在我的数据库里,我正在经历一些有趣的事情。主键增加如下:
1
2
3
4
5
6
7
8
1001
我正在使用EntityFramework,有时使用LINQ。
发布于 2013-08-07 13:02:21
当SQL server 2012失去其预先分配的序列号时,就会发生这种情况。
如果您想摆脱这种情况,一种选择是使用traceflag:
DBCC TRACEON (272)
另一种选择是使用序列(没有缓存)而不是标识:
CREATE SEQUENCE MySeq AS int
START WITH 1
INCREMENT BY 1
NO CACHE;
参见:http://www.big.info/2013/01/how-to-solve-sql-server-2012-identity.html
发布于 2013-08-07 14:34:14
这一切都很正常。Microsoft在Server 2012中添加了序列,请在这里查看一个链接以获得一些解释。
如果你想有旧的行为,你可以:
使用跟踪标志272 -这将导致为每个生成的标识值生成日志记录。打开此跟踪标志可能会影响标识生成的性能。使用具有无缓存设置(http://msdn.microsoft.com/en-us/library/ff878091.aspx)的序列生成器
https://stackoverflow.com/questions/18103908
复制相似问题