RAID 故障導致 LDF 損壞嚴重,MDF 尚可用時,可透過重建資料庫方式救回資料:
USE MASTER; GO
EXEC sp_configure 'allow updates', 1; RECONFIGURE WITH OVERRIDE; GO
UPDATE sysdatabases SET status = 32768 WHERE name = 'SuspectDB'; GO
EXEC sp_dboption 'SuspectDB', 'single user', 'true'; GO
DBCC CHECKDB('SuspectDB'); GO
UPDATE sysdatabases SET status = 28 WHERE name = 'SuspectDB'; GO -- 28 = 正常狀態
EXEC sp_configure 'allow updates', 0; RECONFIGURE WITH OVERRIDE; GO
EXEC sp_dboption 'SuspectDB', 'single user', 'false'; GO
關鍵點: 此法僅適用 MDF 完整、LDF 損壞;若 MDF 亦損壞需從備份還原。SQL 2005+ 系統表不再允許直接更新,建議改用 ALTER DATABASE ... SET EMERGENCY、DBCC CHECKDB ... REPAIR_ALLOW_DATA_LOSS 標準流程。