MS SQL SERVER 當資料庫混損 而沒有備份時候的救援方式
最近發生一件鳥事
由於下面的工程師在安裝完資料庫後 沒有設定交易紀錄備份
因此LDF磁碟被寫滿 造成資料庫異常
重啟後 發現資料庫處於「正在還原」狀態下
如果你跟我一樣綏 可以試試看以下步驟 進行修復
See also :
由於下面的工程師在安裝完資料庫後 沒有設定交易紀錄備份
因此LDF磁碟被寫滿 造成資料庫異常
重啟後 發現資料庫處於「正在還原」狀態下
如果你跟我一樣綏 可以試試看以下步驟 進行修復
步驟如下
1. 由於原資料庫MDF、LDF被”正在還原”狀態咬住
,所以先把資料庫暫時停用,停用後 把該資料庫MDF、LDF先複製到別的地方。
2.重新於資料庫上建立同名之新的資料庫→離線
USE masterGOALTER DATABASE [資料庫名稱]SET OFFLINE;GO
3.將有問題之資料取代新的資料庫→上線
--步驟03. 將先前的資料檔案覆蓋掉此新建立的資料庫檔案。--步驟04. 若嘗試執行重新上線此資料庫,例如:USE masterGOALTER DATABASE [資料庫名稱]SET ONLINE;GO
4.切成緊急模式→切換單人模式→進行DBCC修復
ALTER DATABASE [資料庫名稱]SET SINGLE_USERSET EMERGENCY;GODBCC CHECKDB ( [資料庫名稱] , REPAIR_ALLOW_DATA_LOSS) ;
GO
5.完成後進行檢查
use masterGODBCC CHECKDB( [資料庫名稱])GO
6.如果沒有好 可以在用以下指令 在修復一次
ALTER DATABASE [資料庫名稱]WITH ROLLBACK IMMEDIATE;GODBCC CHECKDB ( [資料庫名稱] , REPAIR_ALLOW_DATA_LOSS) ;GO
7.完成後切回多人模式
ALTER DATABASE [資料庫名稱]
SET MULTI_USER;
GO
以上 God bliss you!
留言