当我运行脚本时
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,但是,当开发人员将记录插入表中时,它没有使用新的重新设定值。
有什么明显的我遗漏了吗?
事实证明,在与使用该表的该应用程序的开发人员进行多次对话后,有一个“隐藏”存储过程正在获取表中 ID 列的最大值并向其添加任意数字,然后发出 IDENTITY_INSERT 语句,结果在新重新播种的值中。