誤刪SQL Server日志文件后怎樣附加數(shù)據(jù)庫
SQL Server日志文件因?yàn)檎`操作被刪除,當(dāng)附加數(shù)據(jù)庫的時(shí)候提示:附加數(shù)據(jù)庫失敗。
解決辦法如下:
1、新建一個(gè)同名數(shù)據(jù)庫。
2、停止數(shù)據(jù)庫服務(wù),覆蓋新建的數(shù)據(jù)庫主文件(小技巧:***放在同一個(gè)磁盤里面,把新建的數(shù)據(jù)庫主文件刪掉或移開,再把要恢復(fù)的數(shù)據(jù)庫主文件剪切過去,這樣就可以節(jié)省時(shí)間。)
3、啟動(dòng)數(shù)據(jù)庫服務(wù),數(shù)據(jù)庫變?yōu)橹靡苫蚩梢蔂顟B(tài)。然后在查詢分析器中運(yùn)行:
alter database 無日志文件的數(shù)據(jù)庫名稱 。
set emergency 設(shè)置為緊急狀態(tài)。
4、再運(yùn)行:
alter database 無日志文件的數(shù)據(jù)庫名稱 set single_user
或者:
Sp_dboption '無日志文件的數(shù)據(jù)庫名稱', 'single user', 'true'
設(shè)置為單用戶模式。
5、檢查并重建日志文件,運(yùn)行:
dbcc checkdb('無日志文件的數(shù)據(jù)庫名稱',REPAIR_ALLOW_DATA_LOSS)
這個(gè)時(shí)間比較長。耐心等待!如果有錯(cuò)誤提示,再運(yùn)行:
dbcc checkdb('無日志文件的數(shù)據(jù)庫名稱',REPAIR_REBUILD)
進(jìn)行修復(fù)。如果沒有錯(cuò)誤,可以跳過。
6、恢復(fù)成多用戶模式
alter database 無日志文件的數(shù)據(jù)庫名稱 set multi_user
或者:
Sp_dboption '無日志文件的數(shù)據(jù)庫名稱', 'single user', 'false'
刷新數(shù)據(jù)庫,你就可以看到已經(jīng)修復(fù)好的數(shù)據(jù)庫了,這時(shí)候就可以成功地附加數(shù)據(jù)庫了。
【編輯推薦】