0

需要一些帮助来了解当您遇到硬盘故障和服务器关闭时恢复过程是如何工作的。

我们运行 MSSQL2005 服务器。我们每晚进行一次完整备份,每小时记录一次。

在备份前 (2) 小时,我们在 Raid 5 存储驱动器上出现了磁盘故障。数据库在服务器关闭后重新上线,但故障后 8 小时内没有事务日志。

当我运行 DBCC CHECKDB 时,长报告列出:

这是 CHECKDB 文件中的最后三个条目。有一个长长的范围条目列表。

Extent (1:4591784) in database ID 9 is marked allocated in the GAM, but no SGAM or IAM has allocated it.
CHECKDB found 7288 allocation errors and 0 consistency errors not associated with any single object.
CHECKDB found 7288 allocation errors and 0 consistency errors in database.
repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB".

上一次已知的良好备份是 2 天前。我尝试运行还原而不是repair_allow_data_loss,但是每次我尝试还原并在数据库上运行完整性检查时,它都会因相同的原因而失败,并且DBCC CHECKDB 文件列出了相同的问题。

我怎样才能摆脱这个问题?如果我要运行 repair_allow_data_loss,我会丢失多少数据?损失会包括过去数年的数据还是仅包括故障以来的数据?

4

1 回答 1

0

错误后继续备份当前数据库。

使用 continue_after_error 将数据库 db_name 备份到磁盘 ='Location'

现在在不同的服务器上恢复这个备份。在此之后,使用 repair_allow_data_loss 运行 DBCC CHECKDB

现在您可以看到“DBCC CHECKDB with repair_allow_data_loss”删除了多少数据来恢复您的数据库。

在执行此操作之前,请参考在线文档。

于 2015-02-18T09:12:21.967 回答