SQL Server 2005 無日誌檔案附加資料庫
雖然目前本人用的是2008R2,但很多客戶仍然還是2005版本的,所以還是將這篇文章轉過來,以備不時之需。在2008下附加2005的mdf應該也可以用得上的。以下是原文:
公司網站運營兩年多了,日誌檔案超級大,在重灌系統的時候,為了省事,就沒有備份日誌檔案,而且是沒有分離就把日誌檔案給刪掉了(下次一定要記得先分離再刪日誌檔案)。結果造成資料庫怎麼都附加不上。出現錯誤。
解決辦法:
1、新建一個同名資料庫。
2、停止資料庫服務,覆蓋新建的資料庫主檔案(小技巧:最好放在同一個磁碟裡面,把新建的資料庫主檔案刪掉或移開,再把要恢復的資料庫主檔案剪下過去,這樣就可以節省時間。)
3、啟動資料庫服務,資料庫變為置疑或可疑狀態。然後在查詢分析器中執行:
alter database 無日誌檔案的資料庫名稱 set emergency
設定為緊急狀態。
4、再執行:
alter database 無日誌檔案的資料庫名稱 set single_user
或者:
Sp_dboption '無日誌檔案的資料庫名稱', 'single user', 'true'
設定為單使用者模式。
5、檢查並重建日誌檔案,執行:
dbcc checkdb('無日誌檔案的資料庫名稱',REPAIR_ALLOW_DATA_LOSS)
這個時間比較長。耐心等待!如果有錯誤提示,再執行:
dbcc checkdb('無日誌檔案的資料庫名稱',REPAIR_REBUILD)
進行修復。如果沒有錯誤,可以跳過。
6、恢覆成多使用者模式
alter database 無日誌檔案的資料庫名稱 set multi_user
或者:
Sp_dboption '無日誌檔案的資料庫名稱', 'single user', 'false'
重新整理資料庫,你就可以看到已經修復好的資料庫了。
我是如此修復,至於網上還有很多修複方法,我試過,沒有成功。通過多方組合得到這個方法。可能也不是資料庫的每一個版本都適用,如果你用過後,不行,希望能留言,讓我們能共同討論,共同進步!