檢查指定數(shù)據(jù)庫(kù)中的系統(tǒng)表內(nèi)及系統(tǒng)表間的一致性。
DBCC CHECKCATALOG
( 'database_name'
) [ WITH NO_INFOMSGS ]
'database_name'
是要對(duì)其系統(tǒng)表一致性進(jìn)行檢查的數(shù)據(jù)庫(kù)。如果未指定,則默認(rèn)為當(dāng)前數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)名稱必須符合標(biāo)識(shí)符的規(guī)則。有關(guān)更多信息,請(qǐng)參見使用標(biāo)識(shí)符。
WITH NO_INFOMSGS
當(dāng)錯(cuò)誤信息少于 200 條時(shí),禁止顯示所有的信息性消息和關(guān)于所用空間的報(bào)告。如果未指定,DBCC CHECKCATALOG 則會(huì)顯示所有的錯(cuò)誤信息。DBCC CHECKCATALOG 消息按對(duì)象 ID 排序(從 tempdb 中生成的消息除外)。
DBCC CHECKCATALOG 對(duì) syscolumns 中的每種數(shù)據(jù)類型在 systypes 中是否都有一個(gè)匹配項(xiàng)進(jìn)行檢查,同時(shí)還對(duì) sysobjects 中的每個(gè)表和視圖在 syscolumns 中是否都至少有一列進(jìn)行檢查。
如果沒有指定數(shù)據(jù)庫(kù),DBCC CHECKCATALOG 會(huì)返回以下結(jié)果集(消息):
DBCC results for 'current database'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
如果提供 Northwind 作為數(shù)據(jù)庫(kù)名稱,DBCC CHECKCATALOG 會(huì)返回以下結(jié)果集(消息):
DBCC results for 'Northwind'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC CHECKCATALOG 權(quán)限默認(rèn)授予 sysadmin 固定服務(wù)器角色、db_owner 和 db_backupoperator 固定數(shù)據(jù)庫(kù)角色的成員且不可轉(zhuǎn)讓。
下例對(duì)當(dāng)前數(shù)據(jù)庫(kù)和 pubs 數(shù)據(jù)庫(kù)中對(duì)象的分配和結(jié)構(gòu)完整性進(jìn)行檢查。
-- Check the current database.相關(guān)文章
DBCC CHECKCATALOG
GO
-- Check the pubs database.
DBCC CHECKCATALOG ('pubs')
GO