主頁(yè) > 知識(shí)庫(kù) > DBCC CHECKIDENT 重置數(shù)據(jù)庫(kù)標(biāo)識(shí)列從某一數(shù)值開(kāi)始

DBCC CHECKIDENT 重置數(shù)據(jù)庫(kù)標(biāo)識(shí)列從某一數(shù)值開(kāi)始

熱門標(biāo)簽:小e電話機(jī)器人 貴州房產(chǎn)智能外呼系統(tǒng)供應(yīng)商 百度地圖標(biāo)注改顏色 電銷外呼有錄音系統(tǒng)有哪些 外呼運(yùn)營(yíng)商線路收費(fèi) 鎮(zhèn)江網(wǎng)路外呼系統(tǒng)供應(yīng)商 申請(qǐng)400電話在哪辦理流程 一個(gè)導(dǎo)航軟件能用幾個(gè)地圖標(biāo)注點(diǎn) 臨沂智能電銷機(jī)器人加盟哪家好
DBCC CHECKIDENT(N'dbo.Orders', RESEED, 0);

DBCC CHECKIDENT 語(yǔ)法
DBCC CHECKIDENT
(
table_name
[ , { NORESEED | { RESEED [ , new_reseed_value ] } } ]
)
[ WITH NO_INFOMSGS ]參數(shù)
table_name
是要對(duì)其當(dāng)前標(biāo)識(shí)值進(jìn)行檢查的表名。指定的表必須包含標(biāo)識(shí)列。表名必須符合標(biāo)識(shí)符規(guī)則。
NORESEED
指定不應(yīng)更改當(dāng)前標(biāo)識(shí)值。
RESEED
指定應(yīng)該更改當(dāng)前標(biāo)識(shí)值。
new_reseed_value
用作標(biāo)識(shí)列的當(dāng)前值的新值。
WITH NO_INFOMSGS
取消顯示所有信息性消息。
結(jié)果集
無(wú)論是否為包含標(biāo)識(shí)列的表指定了任何選項(xiàng),DBCC CHECKIDENT 都返回以下信息(返回值可能有所不同):
Checking identity information: current identity value '290', current column value '290'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.注釋
對(duì)當(dāng)前標(biāo)識(shí)值所做的具體更正取決于參數(shù)規(guī)范。
DBCC CHECKIDENT 命令 標(biāo)識(shí)更正或所做的更正
DBCC CHECKIDENT ( table_name, NORESEED )
不重置當(dāng)前標(biāo)識(shí)值。DBCC CHECKIDENT 將返回標(biāo)識(shí)列的當(dāng)前標(biāo)識(shí)值和當(dāng)前最大值。如果這兩個(gè)值不相同,則應(yīng)重置標(biāo)識(shí)值,以避免值序列中的潛在錯(cuò)誤或空白。
DBCC CHECKIDENT ( table_name )
或者
DBCC CHECKIDENT ( table_name, RESEED )
如果表的當(dāng)前標(biāo)識(shí)值小于標(biāo)識(shí)列中存儲(chǔ)的最大標(biāo)識(shí)值,則使用標(biāo)識(shí)列中的最大值對(duì)其進(jìn)行重置。
DBCC CHECKIDENT ( table_name, RESEED, new_reseed_value )
將當(dāng)前標(biāo)識(shí)值設(shè)置為 new_reseed_value。如果自從創(chuàng)建表以來(lái)未在表中插入任何行,或者已使用 TRUNCATE TABLE 語(yǔ)句刪除所有行,則在運(yùn)行 DBCC CHECKIDENT 之后插入的第一行將使用 new_reseed_value 作為標(biāo)識(shí)。否則,插入的下一行將使用 new_reseed_value + 當(dāng)前增量值。
如果該表不為空,那么將標(biāo)識(shí)值設(shè)置為小于標(biāo)識(shí)列中的最大值的數(shù)字時(shí),將會(huì)出現(xiàn)下列情況之一:
如果標(biāo)識(shí)列中存在 PRIMARY KEY 或 UNIQUE 約束,則隨后在表中執(zhí)行插入操作時(shí)將生成錯(cuò)誤消息 2627,原因是生成的標(biāo)識(shí)值將與現(xiàn)有值沖突。
如果不存在 PRIMARY KEY 或 UNIQUE 約束,則隨后的插入操作將產(chǎn)生重復(fù)的標(biāo)識(shí)值。
異常
下表列出了 DBCC CHECKIDENT 不自動(dòng)重置當(dāng)前標(biāo)識(shí)值時(shí)的條件,并提供了重置該值的方法。
條件 重置方法
當(dāng)前標(biāo)識(shí)值大于表中的最大值。
執(zhí)行 DBCC CHECKIDENT (table_name, NORESEED) 可以確定列中的當(dāng)前最大值,然后指定該值作為 DBCC CHECKIDENT (table_name, RESEED, new_reseed_value) 命令中的 new_reseed_value。
或者
在將 new_reseed_value 設(shè)置為非常低的值的情況下執(zhí)行 DBCC CHECKIDENT (table_name, RESEED, new_reseed_value),然后運(yùn)行 DBCC CHECKIDENT (table_name, RESEED) 以更正該值。
刪除表中的所有行。
在將 new_reseed_value 設(shè)置為所需開(kāi)始值的情況下執(zhí)行 DBCC CHECKIDENT (table_name, RESEED, new_reseed_value)。
更改種子值
種子值是針對(duì)裝入表的第一行插入到標(biāo)識(shí)列的值。所有后續(xù)行都包含當(dāng)前標(biāo)識(shí)值和增量值,其中當(dāng)前標(biāo)識(shí)值是為當(dāng)前表或視圖生成的最新標(biāo)識(shí)值。有關(guān)詳細(xì)信息,請(qǐng)參閱創(chuàng)建和修改標(biāo)識(shí)符列。
不能使用 DBCC CHECKIDENT 執(zhí)行下列任務(wù):
更改創(chuàng)建表或視圖時(shí)為標(biāo)識(shí)列指定的原始種子值。
重設(shè)表或視圖中的現(xiàn)有行的種子值。
若要更改原始種子值并重設(shè)所有現(xiàn)有行的種子值,必須刪除并重新創(chuàng)建標(biāo)識(shí)列,然后為標(biāo)識(shí)列指定新的種子值。當(dāng)表包含數(shù)據(jù)時(shí),還會(huì)將標(biāo)識(shí)號(hào)添加到具有指定種子值和增量值的現(xiàn)有行中。無(wú)法保證行的更新順序。
權(quán)限
調(diào)用方必須擁有表,或者是 sysadmin 固定服務(wù)器角色、db_owner 固定數(shù)據(jù)庫(kù)角色或 db_ddladmin 固定數(shù)據(jù)庫(kù)角色的成員。
示例
A. 根據(jù)需要重置當(dāng)前標(biāo)識(shí)值
以下示例根據(jù)需要重置 AdventureWorks 數(shù)據(jù)庫(kù)中 Employee 表的當(dāng)前標(biāo)識(shí)值。
USE AdventureWorks;
GO
DBCC CHECKIDENT ("HumanResources.Employee");
GO
B. 報(bào)告當(dāng)前標(biāo)識(shí)值
以下示例報(bào)告 AdventureWorks 數(shù)據(jù)庫(kù)的 Employee 表中的當(dāng)前標(biāo)識(shí)值,但如果該標(biāo)識(shí)值不正確,不會(huì)進(jìn)行更正。
USE AdventureWorks;
GO
DBCC CHECKIDENT ("HumanResources.Employee", NORESEED);
GO
C. 強(qiáng)制將當(dāng)前標(biāo)識(shí)值設(shè)為新值
以下示例強(qiáng)制將 Employee 表中的 EmployeeID 列中的當(dāng)前標(biāo)識(shí)值設(shè)置為 300。因?yàn)樵摫碛鞋F(xiàn)有行,因此下一個(gè)插入行將使用 301 作為值,即當(dāng)前標(biāo)識(shí)值加上 1(為該列定義的當(dāng)前增加值)。
USE AdventureWorks;
GO
DBCC CHECKIDENT ("HumanResources.Employee", RESEED, 300);
GO

標(biāo)簽:晉城 合肥 日照 延邊 澳門 三明 嘉興 保定

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《DBCC CHECKIDENT 重置數(shù)據(jù)庫(kù)標(biāo)識(shí)列從某一數(shù)值開(kāi)始》,本文關(guān)鍵詞  DBCC,CHECKIDENT,重置,數(shù)據(jù)庫(kù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《DBCC CHECKIDENT 重置數(shù)據(jù)庫(kù)標(biāo)識(shí)列從某一數(shù)值開(kāi)始》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于DBCC CHECKIDENT 重置數(shù)據(jù)庫(kù)標(biāo)識(shí)列從某一數(shù)值開(kāi)始的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章