MSDN关于命令“DBCC CHECKDB”的文章在语法部分解释了三种执行数据库修复的方法:
- REPAIR_ALLOW_DATA_LOSS
- REPAIR_FAST
- REPAIR_REBUILD
Run Code Online (Sandbox Code Playgroud)
但是当我在寻找如何修复嫌疑人(我在执行这些步骤时置于此模式下)数据库时发现以下语句,我无法理解它是三种模式中的哪一种:
DBCC CHECKDB(数据库名称,修复)
我执行了该语句,它运行良好。我很困惑,因为在没有用“_allow_data_loss”、“_fast”或“_rebuild”结束单词的情况下,没有单独提到“修复”参数。
如果我尝试在处于紧急状态的数据库上运行“DBCC CHECKDB ( databaseName , repair_rebuild )”,我会收到一条错误消息,指出我无法在数据库处于紧急状态时执行该级别的修复。所以,我放弃了“修复”本身就是“修复重建”。
该语句是我发现的脚本中的第三行:
如果我阅读第三个语句执行的输出,我会看到有关该过程的信息,但与修复中使用的级别无关。
提前致谢,