今天客戶那邊執行SQL報錯,經查看是客戶服務器數據庫磁盤已被全部用完,日誌文件達到500GB的程度,後來由於我的錯誤操作導致日誌文件(.ldf)被刪除,後來附加.mdf文件老是說沒有日誌文件附加不成功,後來經過一番折騰終於解決了,下面分享一下!
操作步驟
1.新建同名的數據庫文件
2.暫停SQLSetver服務
3.將原先的mdf文件,覆蓋新建的數據庫,刪除新數據庫的ldf文件
4.重新啓動SQLSetver服務 ,這時看到的數據庫是這個樣子的,打不開
5.執行以下SQL語句
1 --1.設置爲緊急狀態 2 alter database 數據庫名稱 set emergency 3 --2.設置爲單用戶模式 4 alter database 數據庫名稱 set single_user 5 --3.檢查並重建日誌文件 6 dbcc checkdb('數據庫名稱',REPAIR_ALLOW_DATA_LOSS) 7 --4.第3步操作如果有錯誤提示,運行第4步,沒有錯誤則跳過 8 dbcc checkdb('數據庫名稱',REPAIR_REBUILD) 9 --5.恢復成多用戶模式 10 alter database 數據庫名稱 set multi_user
6.至此會重新生成改庫的日誌文件,整個過程完成
或者也可以採用手動附加(本方法參考@碼道程工)