修复后的 DBCC CHECKDB 是否必须重新扫描?

rfu*_*sca 4 sql-server sql-server-2000 dbcc-checkdb

我运行了一个DBCC CHECKDB,它发现了分配错误。当我运行它时REPAIR_ALLOW_DATA_LOSS- 它是否需要花费相同的时间来扫描错误,还是会尝试使用CHECKDB我最后一次运行并运行得更快?

(SQL Server 2000。是的,它很古老,不,我无法升级。)

小智 6

要补充上面的答案,如果您使用的是企业版,其中普通的 DBCC CHECKDB 将并行运行,当您使用修复选项运行时,它必须运行单线程,因此也需要更多时间。

任何 DBCC CHECK* 命令都必须扫描所有数据,因为任何先前 DBCC CHECK* 命令的结果都是

  1. 没有坚持任何地方

  2. 决不能相信仍然是准确的。

还要警惕 SQL Server 2000 上的 REPAIR_ALLOW_DATA_LOSS - 有许多修复无法正常工作,作为我对代码库的一般重写的一部分,我针对 SQL Server 2005 修复了这些修复。

谢谢


Kin*_*hah 5

是否需要花费相同的时间来扫描错误

是的,它必须再做一次……扫描修复可能丢失数据的错误。小心,将其用作最后的手段 - 修复并允许数据丢失!

参考:腐败......人们首先尝试的最后手段......来自Paul Randal。

请记住:SQL Server 2000 不再受支持.. 所以除非您升级到受支持的版本,否则 microsoft 不会提供帮助!