DBCC CHECKDB 可以完成两个任务
(1)检查数据库里有没有损坏发生
(2)尽力修复数据库损坏,是数据能重新被正常访问
DBCC 下列步骤执行下列操作
1.检查一些关键性的表
- sysalocunits
- syshobts
- syshobtcolumnes
- sysrowsets
- sysrowsetcolumns
2.对数据库运行DBCC CHECKALOOC
3.对数据库中的每个表和视图运行DBCC CHECKTABLE
- DBCC CHECKTABLE检查以下内容
- 是否已正确链接索引、行内、LOB及行溢出数据页
- 索引是否按照正确的顺序排列
- 各指针是否一致
- 每一页面上的数据是否合理(包括计算列)
- 页面偏移量是否合理
- 基表的每一行是否在每个非聚集索引中具有匹配的行,以及非聚集索引的每一行是否在基表中具有匹配的行
- 已分配表或索引的每一行是否都位于正确的分区中
4.对数据库运行DBCC CHECKCATALOG
检查指定数据库系统表里记录的元数据逻辑一致性。
5.验证数据库中每个索引视图的内容
6.验证数据库中的Service Broker
通常巡检可以使用以下语句
DBCC CHECKDB WITH NO_INFOMSGS; GO
DBCC (Transact-SQL)