为什么我的身份没有重播

时间:2017-12-12 12:34:51

标签: sql-server sql-server-2008

我需要在我导入的一些表中重新设置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身份运行命令。

1 个答案:

答案 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打印错误   消息,请与您的系统管理员联系。