【问题标题】:Identity column increment jump [duplicate]标识列增量跳转[重复]
【发布时间】:2013-08-07 12:51:55
【问题描述】:

我在我的数据库中遇到了一些有趣的事情。主键增加如下:

1
2
3
4
5
6
7
8
1001

我正在使用 EntityFramework 或有时使用 LINQ to SQL。

【问题讨论】:

标签: asp.net sql-server linq entity-framework


【解决方案1】:

当 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

【讨论】:

  • 祝福大家。竖起大拇指
【解决方案2】:

这一切都很正常。 Microsoft 在 SQL Server 2012 中添加了序列,请在此处查看 a link 以获得一些解释。

如果你想拥有旧的行为,你可以:

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

【讨论】:

  • 您的第一个链接已损坏
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
  • 2016-04-18
  • 2018-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-30
相关资源
最近更新 更多