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