每個資料庫至少包含 MDF (資料檔) 與 LDF (記錄檔)。記錄檔記錄每筆資料變更,支援復原與「時間點還原」。但記錄檔無限增長會耗盡磁碟,因此需透過截斷釋放空間,截斷時機由復原模式決定。
| 模式 | 記錄截斷時機 | 支援備份類型 | 時間點還原 | 適用場景 |
|---|---|---|---|---|
| 簡單 | Checkpoint 發生時自動截斷 | 完整備份、差異備份、檔案/檔案組備份 | 不支援 | 測試環境、資料可重載、容忍資料遺失 |
| 完整 | 記錄備份完成後截斷 | 所有備份類型 + 交易記錄備份 | 支援 (任意時間點) | 生產環境、高資料保護需求 |
| 大量記錄 | 記錄備份完成後截斷 | 同完整模式,但大量操作最小化記錄 | 支援 (大量操作期間除外) | 大量匯入/索引重建期間,效能優先 |
啟用壓縮可節省 50-80% 備份空間與 I/O,適用於所有復原模式,建議生產環境預設開啟。
-- 查看
SELECT name, recovery_model_desc FROM sys.databases;
-- 修改 (需獨佔或單一使用者模式)
ALTER DATABASE [YourDB] SET RECOVERY FULL; -- 或 SIMPLE, BULK_LOGGED