SQL Server 服務停止時,LDF 檔被誤刪。重啟服務後,對應資料庫標記為 **SUSPECT (置疑)** 狀態,無法存取。
-- 1. 分離置疑資料庫 (強制)
EXEC sp_detach_db 'suspect_db', 'true';
-- 2. 單檔附掛 (僅指定 MDF)
EXEC sp_attach_single_file_db 'suspect_db', 'D:\Data\db_data.mdf';
SQL Server 會自動在預設位置建立 500 KB 新 LDF,資料庫上線。
sp_detach_db 清除系統目錄中關於該資料庫的中繼資料 (包括舊 LDF 路徑)。sp_attach_single_file_db 僅讀取 MDF 開啟資料庫,發現無日誌檔則**重建新日誌**,等同於 CREATE DATABASE ... FOR ATTACH_REBUILD_LOG (2005+)。Error 1813。| 風險 | 對策 |
|---|---|
| 破壞日誌鏈,無法時間點還原 | 恢復前務必完成**完整備份**;恢復後立即建立新完整備份啟動新鏈 |
| 資料不一致 (未提交交易丟失) | 僅在確認無活躍交易時使用;否則需從備份還原 |
| 生產環境誤操作 | 授予 db_owner 權限最小化;啟用資料庫審計追蹤 DDL/DML |
「分離 → 刪 LDF → 單檔附掛」是 SQL Server 獨有的**急救絕招**,能在分鐘級恢復因誤刪日誌導致的置疑資料庫。但請銘記:這是**破壞性恢復**,僅作為最後手段,平時務必落實備份策略與檔案權限管控。