【发布时间】:2012-12-01 07:40:05
【问题描述】:
我以前从未见过这种情况,很奇怪。
我有一个正在开发的本地 SQL Server 2012 Express 数据库。使用 TestDrive 插件运行一套简单的测试并使用 EF v5 访问数据库。
我刚刚运行了一个将记录插入数据库的测试。我在表中有 9 行从 id 1-9 开始。下一次插入,ID 正好跳了 10000 !!!!
Id 列显示:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10009
我知道失败的插入也会增加 ID,但我可以保证 10,000 在测试运行之间的 5 秒内没有插入失败...
表结构非常简单,一堆列和一个自动递增,bigint(长)类型的标识列,没有 SP、触发器或任何其他程序化内容。
[Id] [bigint] IDENTITY(1,1) NOT NULL,
很困惑,有没有其他人看到过这种情况?
【问题讨论】:
-
我看不出它怎么会是我的代码。该代码对 ID 没有任何作用,它是一个 INSERT 命令,而不是 UPDATE 命令,如果 INSERT 尝试应用一个 ID,它只会忽略 ID 值...
-
似乎这可能是 2012 年的一个错误,因为它也被其他人报告在这里...connect.microsoft.com/SQLServer/feedback/details/743300/…我刚刚为此添加了一个日志...
-
好像是SQL引擎重启引起的……但是为什么我的种子为1时它会跳10000有点疯狂……
-
这是一个已知问题。不幸的是,MS没有注意。这个问题让我们非常头疼。
标签: sql entity-framework sql-server-2012-express