sql_server只有.mdf文件如何恢復數據


只有mdf文件時,應當如何進行恢復

1、新建一個同名數據庫,指定數據庫存儲位置(ps:如果你之前的數據庫位於 D:\數據 這個目錄,這次也要建一個相同的目錄,避免在還原數據時候,讀取到舊目錄導致報錯)。

2、停止數據庫服務,刪除新建數據庫的log跟數據文件 
     將老的數據庫文件丟進來(考慮到磁盤讀寫的速度,放在一個磁盤內數據拷貝比較快一點)
 
3、啟動數據庫服務
數據庫變為置疑或可疑狀態。然后在查詢分析器中運行:
alter database 無日志文件的數據庫名稱 set emergency
設置為緊急狀態。
 
4、再運行:
alter database 無日志文件的數據庫名稱 set single_user
或者:
Sp_dboption '無日志文件的數據庫名稱', 'single user', 'true'
設置為單用戶模式。
 
5、檢查並重建日志文件,運行:
dbcc checkdb('無日志文件的數據庫名稱',REPAIR_ALLOW_DATA_LOSS)
這個時間比較長。耐心等待!期間會有報錯:--is_broker_enabled停止,斷開數據庫連接之類報錯,然后再運行:
 dbcc checkdb('無日志文件的數據庫名稱',REPAIR_REBUILD)
進行修復。如果沒有錯誤,可以跳過。
 
6、恢復成多用戶模式
alter database 無日志文件的數據庫名稱 set multi_user(報錯的話  將sql_server重新打開一次,然后再次執行就好了)
或者:
Sp_dboption '無日志文件的數據庫名稱', 'single user', 'false'
刷新數據庫,你就可以看到已經修復好的數據庫了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM