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

楼主
如何附加被分离的质疑数据库?
[B][COLOR=#ffc000]简介[/COLOR][/B][P]     有些时间,由于日志损坏等原因,导致了数据库质疑。如果此时你分离了数据库,那你会发现你无法再附加上数据库,那后果还是很严重的。因此本文提供了一种方式,可以使得当数据库质疑并且分离出了实例,依然可以用一种HACK的方法进行附加。[/P][P] [/P][B][COLOR=#ffc000]具体步骤[/COLOR][/B][P]    目前有一个数据库AttchSuspectDatabase,中只有一张表Test,其中只有一列INT列,目前其中数据是1,2。我们将该数据库搞为质疑,如图1所示。[/P][P][URL=http://images.cnitblog.com/blog/35368/201401/07155404-a3c52f1717be4ce6b3f75da391393e73.png][IMG=0,absmiddle,148,338]http://images.cnitblog.com/blog/35368/201401/07155404-086303b3798648b39af3557d2da65f0f.png[/IMG][/URL][/P][P]图1.数据库质疑[/P][P] [/P][P]    此时,我们分离数据库后。尝试附加,显示失败,如图2所示。[/P][P]    [URL=http://images.cnitblog.com/blog/35368/201401/07155405-e3b60cc6949346c7856d734232a019b5.png][IMG=0,absmiddle,225,521]http://images.cnitblog.com/blog/35368/201401/07155405-cc2be5681545452598785bfef84455c4.png[/IMG][/URL] [/P][P]    图2.数据库已经无法附加[/P][P] [/P][P]   即使我们使用重建日志等方法,发现依然无法附加,如图3所示。[/P][P][URL=http://images.cnitblog.com/blog/35368/201401/07155406-c0b9a81a8fb644fc99e08e702bdc3acd.png][IMG=0,absmiddle,311,643]http://images.cnitblog.com/blog/35368/201401/07155406-945e461ac7d145239b4b1becdd7d0250.png[/IMG][/URL][/P][P]图3.尝试重建日志方法附加,依然无效[/P][P] [/P][P]    那由于质疑是日志导致的问题,我们直接删了日志附加数据库呢?[/P][P][URL=http://images.cnitblog.com/blog/35368/201401/07155406-de66e27a8214404d9bd4e6826882f98f.png][IMG=0,absmiddle,324,641]http://images.cnitblog.com/blog/35368/201401/07155407-27cd0414ce2046b89fec4138abdaa555.png[/IMG][/URL][/P][P]图4.删除日志附加,依然无效[/P][P] [/P][P] [/P][P]    此时,我们通过一种Hack的方法来附加数据库。首先,我们创建同名数据库,然后将该数据库下线,代码如下所示:[/P][P][COLOR=rgb(0, 0, 255)][BGCOLOR=rgb(244, 244, 244)]ALTER[/BGCOLOR][/COLOR] [COLOR=rgb(0, 0, 255)][BGCOLOR=rgb(244, 244, 244)]DATABASE[/BGCOLOR][/COLOR] [AttchSuspectDatabase] [COLOR=rgb(0, 0, 255)][BGCOLOR=rgb(244, 244, 244)]SET[/BGCOLOR][/COLOR] OFFLINE;
GO
[/P][P]   将原有数据库MDF文件替换新创建的傀儡数据库的MDF文件,此时,数据库附加成功,但状态仍然是质疑,如图5所示。[/P][P][URL=http://images.cnitblog.com/blog/35368/201401/07155408-b5d697433bf1422884e07e5a86fe0b41.png][IMG=0,absmiddle,330,657]http://images.cnitblog.com/blog/35368/201401/07155410-56c52c28cd7249f59c322c0cf2b9c5a0.png[/IMG][/URL][/P][P]图5.Hack方法附加数据库成功[/P][P] [/P][P]    此时,我们就可以通过正常的手段修复数据库了。如图6所示[/P][P] [/P][P]    [URL=http://images.cnitblog.com/blog/35368/201401/07155410-bd42683bc2044a8faabd543c95eb2a31.png][IMG=0,absmiddle,379,720]http://images.cnitblog.com/blog/35368/201401/07155411-3a0c35cc67fa466e800eb43338b4c28b.png[/IMG][/URL][/P][P] [/P][P]至此,通过一些小技巧来附加质疑的数据库就完成了。[/P][P]
[/P][P][URL=http://www.cnblogs.com/CareySon/p/3509030.html]http://www.cnblogs.com/CareySon/p/3509030.html[/URL][/P]

电脑版 Page created in 0.0781 seconds with 4 queries.