![如果 DBCC CheckDB 说我的数据库正常,那它就正常吗?](https://linux22.com/image/529511/%E5%A6%82%E6%9E%9C%20DBCC%20CheckDB%20%E8%AF%B4%E6%88%91%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E6%AD%A3%E5%B8%B8%EF%BC%8C%E9%82%A3%E5%AE%83%E5%B0%B1%E6%AD%A3%E5%B8%B8%E5%90%97%EF%BC%9F.png)
我正在思考一些灾难恢复方案。这个方案怎么样?
- 运行 SQL Server 2008 或 2005 的服务器突然断电(例如,插头被拔掉)
- 重新打开后,操作系统恢复正常,硬盘没有损坏。SQL 日志显示 DBCC CheckDB 已在所有数据库上运行,并且全部正常。
在这种情况下,服务器是否应该被视为正常,或者是否应该恢复 SQL 备份?
答案1
日志中显示的消息"...CHECKDB for database 'YourDatabase' finished without errors on 2010...."
并不意味着 SQL Server 在启动时运行 DBCC;它只是一条信息性消息,只告诉您上次在数据库上运行 DBCC 的时间(请仔细查看日期)。因此,正如 @TomTom 所说,您可能需要再次手动运行 DBCC 来检查数据库的完整性。此外,如果您的维护窗口很大,最佳做法是定期安排并运行每日/每周或每月 DBCC 检查,否则您可以恢复备份并针对它运行 DBCC 以避免开销。
答案2
也许您最后一次手动运行了 DBCC CHECKDB。但除此之外,我认为服务器没有问题。