簡介
有些時間,由於日志損壞等原因,導致了數據庫質疑。如果此時你分離了數據庫,那你會發現你無法再附加上數據庫,那后果還是很嚴重的。因此本文提供了一種方式,可以使得當數據庫質疑並且分離出了實例,依然可以用一種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所示
至此,通過一些小技巧來附加質疑的數據庫就完成了。