如何附加被分离的质疑数据库?

简介

     有些时间,由于日志损坏等原因,导致了数据库质疑。如果此时你分离了数据库,那你会发现你无法再附加上数据库,那后果还是很严重的。因此本文提供了一种方式,可以使得当数据库质疑并且分离出了实例,依然可以用一种HACK的方法进行附加。

 

具体步骤

    目前有一个数据库AttchSuspectDatabase,中只有一张表Test,其中只有一列INT列,目前其中数据是1,2。我们将该数据库搞为质疑,如图1所示。

1

图1.数据库质疑

 

    此时,我们分离数据库后。尝试附加,显示失败,如图2所示。

    2 

    图2.数据库已经无法附加

 

   即使我们使用重建日志等方法,发现依然无法附加,如图3所示。

3

图3.尝试重建日志方法附加,依然无效

 

    那由于质疑是日志导致的问题,我们直接删了日志附加数据库呢?

4

图4.删除日志附加,依然无效

 

 

    此时,我们通过一种Hack的方法来附加数据库。首先,我们创建同名数据库,然后将该数据库下线,代码如下所示:

ALTER DATABASE [AttchSuspectDatabase] SET OFFLINE;
GO

   将原有数据库MDF文件替换新创建的傀儡数据库的MDF文件,此时,数据库附加成功,但状态仍然是质疑,如图5所示。

5

图5.Hack方法附加数据库成功

 

    此时,我们就可以通过正常的手段修复数据库了。如图6所示

 

    6

 

至此,通过一些小技巧来附加质疑的数据库就完成了。

posted @ 2014-01-07 15:54  CareySon  阅读(8415)  评论(9编辑  收藏  举报