公司網站運營兩年多了,日志文件超級大,在重裝系統的時候,為了省事,就沒有備份日志文件,而且是沒有分離就把日志文件給刪掉了(下次一定要記得先分離再刪日志文件)。結果造成數據庫怎么都附加不上。出現錯誤。
解決辦法:
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'
刷新數據庫,你就可以看到已經修復好的數據庫了。
我是如此修復,至于網上還有很多修復方法,我試過,沒有成功。通過多方組合得到這個方法。可能也不是數據庫的每一個版本都適用,如果你用過后,不行,希望能留言,讓我們能共同討論,共同進步!
出處:本文地址:http://www.cnblogs.com/ATree/archive/2010/05/16/Sqlserver2005-mdf-ldf.html