如果您有一个标记为Suspect的数据库,该怎么办?

从上次备份中还原吗?

请告知。

#1 楼

首先要确保您不要分离该数据库。

从上次已知的良好备份中恢复是可以的。否则,您将需要使用紧急修复模式(我假设您正在运行SQL 2005或更高版本)。这是Paul Randal关于该主题的几篇文章。在开始执行任何操作之前,请先阅读它们。

创建,分离,重新连接和修复SUSPECT数据库

紧急模式修复:非常非常不得已

#2 楼

几乎可以。

通常,这意味着文件被混淆或丢失,磁盘错误或诸如此类(我发现坏扇区导致了此错误)。

我的步骤:


确保所有备份都在其中
关闭SQL Server
chkdsk SQL Server使用的磁盘(当然不是您的C :)

编辑:我将澄清我的答案


如果数据很重要,我将有一个备份
停机时间,同时还涉及维修和紧急模式对我很渴望


#3 楼

我针对这两种可疑数据库案例编写了一些指导:丢失数据文件或日志文件时。请阅读以下内容:


SQL 2005/2008数据库恢复过程–删除数据文件(第2部分)
SQL 2005/2008数据库恢复过程–删除数据文件(第3部分) )


评论


事情就是这样:如果您发布的全部都是链接,Stack Exchange将无法工作。我们需要您做的是总结链接中的内容,否则我将被迫删除您的答案(然后您失去了代表,我们都不希望这样做)

– jcolebrand♦
2012年6月16日22:18

#4 楼

从您的问题来看,您似乎已经有了备份。
从一个好的备份中还原数据库将是使数据库正常运行并脱离可疑状态的最简单,最快的方法。

评论


但是,如果没有事务日志,则会丢失数据。

–mrdenny
2011年4月14日下午3:13

#5 楼

我的第一个建议是;永远不要分离可疑数据库。
从更新的备份还原数据库很有帮助。如果备份不可用或出现问题,则EMERGENCY模式可能会有用:

将数据库设置为紧急模式:

ALTER DATABASE DB_NAME SET EMERGENCY


现在检查数据库与此不一致:

DBCC CHECKDB (‘DB_NAME’)


DBCC CHECKDB修复允许数据丢失选项是最后的选择。结果可能是数据丢失,所以我不建议运行它。

还要检查参考文献1和参考文献2