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