2004 年 11 月 12 日,客戶伺服器發生 RAID 故障,經搶救後資料檔案(MDF)損壞輕微,但交易日誌檔(LDF)嚴重損毀無法使用。本文記錄如何在無可用日誌檔的情況下,完整恢復資料庫資料的實戰操作流程。
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES', 1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS = 32768 WHERE NAME = '置疑的資料庫名'
GO
SP_DBOPTION '置疑的資料庫名', 'single user', 'true'
GO
DBCC CHECKDB('置疑的資料庫名')
GO
UPDATE SYSDATABASES SET STATUS = 28 WHERE NAME = '置疑的資料庫名'
GO
SP_CONFIGURE 'ALLOW UPDATES', 0 RECONFIGURE WITH OVERRIDE
GO
SP_DBOPTION '置疑的資料庫名', 'single user', 'false'
GO
執行上述腳本後,資料庫仍顯示「置疑」。此時採取以下步驟:
ALLOW UPDATES)是修改 SYSDATABASES 狀態的前提,操作極高風險,務必在備份後執行。警告:直接修改系統表屬非官方支援操作,生產環境務必先嘗試官方修復流程(如從備份還原),或聯繫 Microsoft 技術支援。本案例為特殊情況下的應急方案。