我需要在我导入的一些表中重新设置PK字段。 这些列被正确定义为Identity Specification = Yes。
我运行了以下命令。
DBCC CHECKIDENT('tableName', NORESEED)
并得到以下回复:
检查身份信息:当前身份值'NULL',当前 列值'42'。 DBCC执行完成。如果DBCC打印错误 消息,请与您的系统管理员联系。
然后我运行以下内容:
DBCC CHECKIDENT('tableName', RESEED, 42)
并得到此回复:
检查身份信息:当前身份值'NULL'。 DBCC 执行完毕。如果DBCC打印出错误消息,请联系您的 系统管理员。
然后我运行原始命令以查看该表是否已重新接种:
DBCC CHECKIDENT('tableName', NORESEED)
回复是:
检查身份信息:当前身份值'NULL',当前 列值'42'。 DBCC执行完成。如果DBCC打印错误 消息,请与您的系统管理员联系。
为什么桌子没有重新播种?以DBA身份运行命令。
答案 0 :(得分:0)
好的...我为解决这个问题所做的就是每当我得到current identity value as 'NULL'
时,我都会运行此命令
DBCC CHECKIDENT('tableName', RESEED, 0)
然后我跑了:
DBCC CHECKIDENT('tableName', NORESEED)
,回复是:
然后我跑了:检查身份信息:当前身份值0,当前 列值' 42'。 DBCC执行完成。如果DBCC打印错误 消息,请与您的系统管理员联系。
DBCC CHECKIDENT('tableName', RESEED, 42)
DBCC CHECKIDENT('tableName', NORESEED)
然后我得到正确答案:
检查身份信息:当前身份值42,当前 列值' 42'。 DBCC执行完成。如果DBCC打印错误 消息,请与您的系统管理员联系。