Transact-SQL 参考

DBCC CHECKCATALOG

检查指定数据库中的系统表内及系统表间的一致性。

语法

DBCC CHECKCATALOG
    ( 'database_name'
    )
    [ WITH NO_INFOMSGS ]

参数

'database_name'

是要对其系统表一致性进行检查的数据库。如果未指定,则默认为当前数据库。数据库名称必须符合标识符的规则。有关更多信息,请参见使用标识符

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_ownerdb_backupoperator 固定数据库角色的成员且不可转让。

示例

下例对当前数据库和 pubs 数据库中对象的分配和结构完整性进行检查。

-- Check the current database.
DBCC CHECKCATALOG
GO
-- Check the pubs database.
DBCC CHECKCATALOG ('pubs')
GO

请参见

DBCC

系统表