您可以在忽略错误继续执行的还原顺序结束时使用DBCCCHECKDB修复数据库。
检测到上述问题后,DBCCCHECKDB的输出会包含一个警告和一个建议,建议运行DBCCUPDATEUSAGE解决该问题。
DBCCCHECKDB已得到增强,可以检测计数值之一变为负值这一情况。
DBCCCHECKDBREPAIR_ALLOW_DATA_LOSS更新suspect_pages表,以指示已释放或已修复的各页。
如果不存在备份,请运行包含指定选项的DBCCCHECKDB来更正报告的错误。
因此不能直接对其运行DBCCCHECKDB命令。
DBCCCHECKDB使用内部数据库快照提供必须执行这些检查的事务一致性。
如果可能,对数据库执行DBCCCHECKDB:为返回的任何错误号搜索联机丛书和知识库。
但是,如果运行DBCCCHECKDB语句以检查数据库损坏,DBCCCHECKDB语句不报告任何错误。
如果发生这种错误,请运行DBCCCHECKDB以确定数据库中的其他对象是否也已损坏。
同时建议您定期运行没有选项的DBCCCHECKDB。
如果无法创建快照或指定了TABLOCK,DBCCCHECKDB将获取锁以获得所需一致性。
如果发生这种错误,请运行DBCCCHECKDB以确定损坏的程度。
如果当系统上已经存在大量活动时运行DBCCCHECKDB,会由于以下两个原因降低DBCC的性能。
可使用DBCCCHECKDB和DBCCCHECKTABLE执行这些数据结构检查。
这可以使DBCCCHECKDB在大型数据库中的运行时间更短。
在DBCCCHECKDB运行期间,如果按字节排序的用户定义类型没有一致的序列化,则会导致错误2537。
使DBCCCHECKDB获取锁,而不使用内部数据库快照。
如果必须使用REPAIR,则运行不带有修复选项的DBCCCHECKDB来查找要使用的修复级别。
然后,DBCCCHECKDB和DBCCCHECKTABLE将默认检查列值完整性。
DBCCCHECKDB及相关语句通常必须从磁盘将每个已分配的页读取到内存中,才能对其进行检查。
DBCCCHECKFILEGROUP和DBCCCHECKDB是相似的DBCC命令。
若要了解所需的最低修复级别,请在不使用修复选项的情况下运行DBCCCHECKDB。
指定在-D指定的数据库中运行DBCCCHECKDB语句或带NOINDEX选项的DBCCCHECKDB语句。
在SQLServer2000中,DBCCCHECKDB不对这些列值执行范围或完整性检查。