DBCC CHECKIDENT('表名',RESEED,20000)不工作

Jay*_*hen 7 sql-server t-sql

当我运行脚本时

DBCC CHECKIDENT ('table name', RESEED, 20000)
Run Code Online (Sandbox Code Playgroud)

消息的输出是

检查标识信息:当前标识值“200000”,当前
列值“200000”。DBCC 执行完成。如果 DBCC 打印错误
消息,请联系您的系统管理员。

当我通过运行查询身份值时

SELECT IDENT_CURRENT('table_name')
Run Code Online (Sandbox Code Playgroud)

它按预期显示为 200000,但是,当开发人员将记录插入表中时,它没有使用新的重新设定值。

有什么明显的我遗漏了吗?

Jay*_*hen 5

事实证明,在与使用该表的该应用程序的开发人员进行多次对话后,有一个“隐藏”存储过程正在获取表中 ID 列的最大值并向其添加任意数字,然后发出 IDENTITY_INSERT 语句,结果在新重新播种的值中。


Ken*_*her 2

很想发表评论,但是如果您在MSDN 条目中向下查看几页,您将看到以下内容:

在此输入图像描述

在你的情况下,第二种选择似乎不太可能,但第一种有可能吗?