简介
有些时间,由于日志损坏等原因,导致了数据库质疑。如果此时你分离了数据库,那你会发现你无法再附加上数据库,那后果还是很严重的。因此本文提供了一种方式,可以使得当数据库质疑并且分离出了实例,依然可以用一种HACK的方法进行附加。
具体步骤
目前有一个数据库AttchSuspectDatabase,中只有一张表Test,其中只有一列INT列,目前其中数据是1,2。我们将该数据库搞为质疑,如图1所示。
图1.数据库质疑
此时,我们分离数据库后。尝试附加,显示失败,如图2所示。
图2.数据库已经无法附加
即使我们使用重建日志等方法,发现依然无法附加,如图3所示。
图3.尝试重建日志方法附加,依然无效
那由于质疑是日志导致的问题,我们直接删了日志附加数据库呢?
图4.删除日志附加,依然无效
此时,我们通过一种Hack的方法来附加数据库。首先,我们创建同名数据库,然后将该数据库下线,代码如下所示:
ALTER DATABASE [AttchSuspectDatabase] SET OFFLINE;
GO
将原有数据库MDF文件替换新创建的傀儡数据库的MDF文件,此时,数据库附加成功,但状态仍然是质疑,如图5所示。
图5.Hack方法附加数据库成功
此时,我们就可以通过正常的手段修复数据库了。如图6所示
至此,通过一些小技巧来附加质疑的数据库就完成了。