解決辦法:
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'
刷新數據庫,你就可以看到已經修復好的數據庫了。