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