問題原因:原因是數據庫關閉時存在打開的事務/用戶,該數據庫沒有檢查點或者該數據庫是隻讀的。如果事務日誌文件被手動刪除或者由於硬件或環境問題而丟失,則可能出現此錯誤。
處理辦法:
一、把分離之前的日誌文件也複製過來一齊附加嘛
從錯誤提示看, 應該是你的日誌文件中還包括有用的數據, 這些數據還沒有正確寫回數據文件, 導致附加失敗.
二、這種情況最好能找回之前的日誌文件, 如果找不到, 應急的方法是新建一個數據庫, 將數據庫設置爲 offline, 然後用附加失敗的數據文件替換掉新建庫的數據文件, 然後將數據庫設置爲應急恢復模式, 這樣一般就能讀數據了
ALTER DATABASE DB_name SET EMERGENCY
如果無法ONLINE, 那麼你大概就只好新建庫, 然後把應急模式的庫的數據導到新建的庫了
特別說明:應該使用壓縮(shrinking)的辦法來處理。
使用SSMS數據導入或者複製
使用數據庫 導出數據-> 選擇相應的表 導入導出嚮導,在“選擇源表和源視圖” 頁,在導入導出的表打勾之後點擊編輯映像,選擇“啓用標識列插入”即可
如果目標數據庫表有約束,可以先禁用約束
alter table t1 check constraint all
.....其他表
然後再啓用
alter table t1 nocheck constraint all
...其他表