我可以使用RESEED標識列
DBCC CHECKIDENT(<table_name>, RESEED, value)
命令標識列電流值恢復到原來的SQL Server 2008中?
如果是,這是做這個操作沒有任何缺點的正確方法嗎? 如果沒有,是否有替代方法呢?
我可以使用RESEED標識列
DBCC CHECKIDENT(<table_name>, RESEED, value)
命令標識列電流值恢復到原來的SQL Server 2008中?
如果是,這是做這個操作沒有任何缺點的正確方法嗎? 如果沒有,是否有替代方法呢?
我可以使用DBCC CHECKIDENT命令將標識列當前值重置爲SQL Server 2008中的原始值嗎?
是的。
如果是的話,這是做這個操作沒有任何缺點的正確方法嗎?
這是一個記錄的方式。
可能的缺點:您最終可能會得到重複的IDENTITY
值 - SQL Server無法保證它不會返回尚未使用的值。
E.g.如果您的IDENTITY
目前是100,並且您將其重置爲1,則機會遲早會產生一個已使用的值。
在SQL Server中實現的IDENTITY
不檢查現有的值或任何東西 - 它只是產生連續的數字。這取決於你 - 尤其是如果你在IDENTITY
上做了RESEED
以確保值不重複。
它有一個很大的缺點,當且僅當feild是主鍵並且引用任何其他表中的任何外鍵時。重新播種有助於獲取在該字段上具有索引的事務表中的記錄。
你的問題是什麼? – Andomar 2010-11-12 13:35:48
其實這裏有三個問題。我確信你可以看到他們...如果你需要進一步的解釋,只需詢問 – Lorenzo 2010-11-12 13:46:40