有時候SQL Server意外斷電會導致SQL Server的ldf日志文件丟失或者損壞,這個時候你如果直接附加mdf文件到SQL Server會失敗,這里提供一個方法可以還原只有mdf的數據庫文件,這里我們假設你要還原的數據庫文件是YourDB.mdf
- 首先在SQL Server中創建一個同名的數據庫,叫[YourDB]。
- 然后停止SQL Server的數據庫引擎服務,拷貝原先的YourDB.mdf到你剛才新建的[YourDB]數據庫的文件目錄並覆蓋之。
- 啟動SQL Server的數據庫引擎服務
- 之后你會發現[YourDB]這個數據在SQL Server的狀態是(Recovery Pending)
- 依次執行下面腳本:
ALTER DATABASE [YourDB] SET EMERGENCY DBCC checkdb([YourDB]) ALTER DATABASE [YourDB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE DBCC CheckDB ([YourDB], REPAIR_ALLOW_DATA_LOSS) ALTER DATABASE [YourDB] SET MULTI_USER
- 之后就應該可以在SQL Server中正常使用和訪問[YourDB]數據庫了
這個方法適合還原那些沒有損壞的mdf數據庫文件到Sql Server,但是如過你的mdf文件因為意外情況(比如服務器意外斷電)導致其損壞,那這個方法還是不行。遇到這種情況只有通過像ApexSQL這樣的專業工具來恢復數據了。
