如何附加被分離的質(zhì)疑數(shù)據(jù)庫?
簡介
有些時間,由于日志損壞等原因,導(dǎo)致了數(shù)據(jù)庫質(zhì)疑。如果此時你分離了數(shù)據(jù)庫,那你會發(fā)現(xiàn)你無法再附加上數(shù)據(jù)庫,那后果還是很嚴(yán)重的。因此本文提供了一種方式,可以使得當(dāng)數(shù)據(jù)庫質(zhì)疑并且分離出了實例,依然可以用一種HACK的方法進(jìn)行附加。
具體步驟
目前有一個數(shù)據(jù)庫AttchSuspectDatabase,中只有一張表Test,其中只有一列INT列,目前其中數(shù)據(jù)是1,2。我們將該數(shù)據(jù)庫搞為質(zhì)疑,如圖1所示。
圖1.數(shù)據(jù)庫質(zhì)疑
此時,我們分離數(shù)據(jù)庫后。嘗試附加,顯示失敗,如圖2所示。
圖2.數(shù)據(jù)庫已經(jīng)無法附加
即使我們使用重建日志等方法,發(fā)現(xiàn)依然無法附加,如圖3所示。
圖3.嘗試重建日志方法附加,依然無效
那由于質(zhì)疑是日志導(dǎo)致的問題,我們直接刪了日志附加數(shù)據(jù)庫呢?
圖4.刪除日志附加,依然無效
此時,我們通過一種Hack的方法來附加數(shù)據(jù)庫。首先,我們創(chuàng)建同名數(shù)據(jù)庫,然后將該數(shù)據(jù)庫下線,代碼如下所示:
ALTER DATABASE [AttchSuspectDatabase] SET OFFLINE;
GO
將原有數(shù)據(jù)庫MDF文件替換新創(chuàng)建的傀儡數(shù)據(jù)庫的MDF文件,此時,數(shù)據(jù)庫附加成功,但狀態(tài)仍然是質(zhì)疑,如圖5所示。
圖5.Hack方法附加數(shù)據(jù)庫成功
此時,我們就可以通過正常的手段修復(fù)數(shù)據(jù)庫了。如圖6所示
至此,通過一些小技巧來附加質(zhì)疑的數(shù)據(jù)庫就完成了。






浙公網(wǎng)安備 33010602011771號