最近開啟sql server發現DB有好幾個檔案出現(復原暫停)

Day_001_復原暫停.JPG

 

 

1. google參考以下教學網站先使用方法2來處理

https://tw.easeus.com/data-recovery/fix-recovery-pending-in-sql-server.html

方法2:將SQL資料庫標記為緊急模式,斷開資料庫並再次重新連接

這些查詢會讓伺服器刪除損壞的記錄,並自動建立一個新的記錄。

ALTER DATABASE [DBName] SET EMERGENCY;

ALTER DATABASE [DBName] set multi_user

EXEC sp_detach_db ‘[DBName]’

EXEC sp_attach_single_file_db @DBName = ‘[DBName]’, @physname = N'[mdf path]’

 

發現跳出一個找不到檔案的路徑???確認錯誤訊息的路徑才驚覺資料庫當初是附加上去,而前幾天我整理電腦時搬移了它!!

所以我就先把檔案放回原來的路徑, 再使用網站提供的方法1來執行復原

方法1:將SQL資料庫狀態設為緊急模式,啟動強制復原

ALTER DATABASE [CH09範例資料庫] SET EMERGENCY;

GO

ALTER DATABASE [CH09範例資料庫] set single_user

GO

DBCC CHECKDB ([CH09範例資料庫], REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;

GO

ALTER DATABASE [CH09範例資料庫] set multi_user

GO

執行後結果復原成功

Day_001_復原暫停_2.JPG

重新整理資料庫就恢復正常了!!

Day_001_復原暫停_3.JPG

3. 其實網站有建議不要用手動修復,建議使用工具來復原,避免處理不當導致嚴重問題

如果要手動修復復原暫止(Recovery Pending)狀態問題,則需要輸入相關的SQL查詢。這些都是高度技術性的程序,如果處理不當可能會導致嚴重的問題。因此,在啟動之前備份SQL Server,如果您不是技術專家,也可以直接使用EaseUS MS SQL Recovery軟體,讓它以安全無風險的方式協助您。

但因為我急著處理也大概看得懂語法,所以就直接執行,沒有下載工具解決

總而言之,解決了復原問題真是太好了!很謝謝好心網友Gina整理的教學~