經(jīng)過網(wǎng)上資料搜索,此方法可以解決。
LDF日志不要輕易刪除,恢復(fù)主數(shù)據(jù)要用到,如果刪除,記得先分離,然后移動(dòng)到另外的地方。
下面是針對(duì)未分離刪除日志文件,MDF文件附加,提示找不到日志的問題的解決方法:
1,新建數(shù)據(jù)庫,同名需要附加的數(shù)據(jù)庫名(假設(shè)名為grab)。
2,在sqlserver配置管理器中停止sql服務(wù),然后打開新建數(shù)據(jù)庫grab的位置,將需要附加的MDF、NDF(如果有)文件復(fù)制,粘貼到此位置,覆蓋新建的數(shù)據(jù)庫文件。
3,重新在sqlserver配置管理器中啟動(dòng)sql服務(wù),然后在客戶端連接會(huì)看到覆蓋完的數(shù)據(jù)庫grab不能打開,點(diǎn)擊屬性提示錯(cuò)誤。
4,在數(shù)據(jù)庫master下新建查詢(按字母順序執(zhí)行):
a:alter database grab set emergency /*設(shè)置緊急狀態(tài),此步驟執(zhí)行完,grab的屬性可以打開了。*/
b:alter database grab set single_user 或 Sp_dboption 'grab ', 'single user', 'true' /*設(shè)置單用戶運(yùn)行狀態(tài)*/
c:dbcc checkdb('grab ',REPAIR_ALLOW_DATA_LOSS) /*檢查并重建,此步驟略長,注意數(shù)據(jù)庫名帶引號(hào)。*/
/*如果此步驟,運(yùn)行完畢有錯(cuò)誤提示,日志文件無法創(chuàng)建,則運(yùn)行下面命令;如果沒有錯(cuò)誤,略過...*/
dbcc checkdb('grab ',REPAIR_REBUILD)
d:alter database grab set multi_user 或 Sp_dboption 'grab ', 'single user', 'false' /*恢復(fù)多用戶狀態(tài)運(yùn)行*/
e:刷新grab數(shù)據(jù)庫,可以看到表數(shù)據(jù)了。