备注
若要查看 SQL Server 2014 及更早版本的 Transact-SQL 语法,请参阅 早期版本文档 。
参数
database_name | database_id | 0
要为其运⾏完整性检查的数据库的名称或 ID。 如果未指定,或者指定为 0,则使⽤当前数据库。
数据库名称必须符合 标识符 规则。
NOINDEX
指定不对⽤户表的非聚集索引执⾏会占⽤很⼤系统开销的检查。 此选项将减少总执⾏时间。
NOINDEX 不影响系统表,因为总是对系统表索引执⾏完整性检查。
REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD
指定 DBCC CHECKDB 修复发现的错误。 仅将 REPAIR 选项作为最后⼿段使⽤。 指定的数据库必
须处于单⽤户模式,才能使⽤以下修复选项之⼀。
REPAIR_ALLOW_DATA_LOSS
尝试修复报告的所有错误。 这些修复可能会导致⼀些数据丢失。
警告
REPAIR_ALLOW_DATA_LOSS 选项是受⽀持的功能,但是,它可能并非总是使数据库处于物
理上⼀致的状态的最佳选项。 如果成功, REPAIR_ALLOW_DATA_LOSS 选项可能会导致⼀
些数据丢失。 实际上,它可能导致的数据丢失多于⽤户从上次已知成功备份还原数据库导
致的数据丢失。
Microsoft 始终建议⽤户从上次已知成功备份还原,作为从 DBCC CHECKDB 报告的错误恢复
的主要⽅法。 REPAIR_ALLOW_DATA_LOSS 选项不是从已知成功备份还原的替代⽅法。 这
是⼀个紧急选项,仅当不可从备份恢复时建议作为“最后⼿段”使⽤。
仅能使⽤ REPAIR_ALLOW_DATA_LOSS 选项修复的某些错误可能涉及释放⾏、⻚或⼀些列
⻚以清除错误。 ⽤户不可再访问或恢复已释放的数据,且⽆法确定已释放数据的准确内
容。 因此,释放任何⾏或⻚后参照完整性可能不准确,因为此修复操作不包括检查或维护
外键约束。 使⽤ REPAIR_ALLOW_DATA_LOSS 选项后,⽤户必须检查其数据库的参考完整
[ , ESTIMATEONLY ]
[ , { PHYSICAL_ONLY | DATA_PURITY } ]
[ , MAXDOP = number_of_processors ]
}
]
]
评论