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