CHECKDB命令有什么用?我们为什么要运行它?

时间:2016-10-05 10:29:37

标签: sql-server dbcc

check DB命令有什么用?我们为什么要运行它?

我在MSSQL中运行的命令

DBCC CHECKDB('DatabaseName')

我得到了结果

结果

DBCC results for 'testdb'.
Service Broker Msg 9675, State 1: Message Types analyzed: 14.
Service Broker Msg 9676, State 1: Service Contracts analyzed: 6.
Service Broker Msg 9667, State 1: Services analyzed: 3.
Service Broker Msg 9668, State 1: Service Queues analyzed: 3.
Service Broker Msg 9669, State 1: Conversation Endpoints analyzed: 0.
Service Broker Msg 9674, State 1: Conversation Groups analyzed: 0...

1 个答案:

答案 0 :(得分:0)

来自docs

  

检查中所有对象的逻辑和物理完整性   通过执行以下操作指定数据库:

     

注意:DBCC   包含内存优化表的数据库支持CHECKDB   但验证仅发生在基于磁盘的表上。但是,作为一部分   数据库备份和恢复,对文件进行CHECKSUM验证   在内存优化的文件组中。

     

由于DBCC修复选项不是   可用于内存优化表,您必须备份数据库   定期测试备份。如果发生数据完整性问题   内存优化表,您必须从上次已知的好处恢复   备份。

     

在数据库上运行DBCC CHECKALLOC。

     

在数据库中的每个表和视图上运行DBCC CHECKTABLE。

     

在数据库上运行DBCC CHECKCATALOG。

     

验证数据库中每个索引视图的内容。

     

验证表元数据与之间的链接级一致性   存储varbinary(max)数据时的文件系统目录和文件   使用FILESTREAM的文件系统。

     

验证Service Broker数据   数据库。