日誌檔案 (LDF) 暴增是常見運維痛點。本文提供兩種經驗證的收縮方法,並說明關鍵風險控制點。
DatabaseName_Log.ldf.mdf → 確定 (SQL Server 自動建立新的 1MB 空日誌)風險:需獨佔存取、活動交易會回滾、複寫/鏡像/CDC 環境慎用。
| 項目 | 說明 |
|---|---|
| 為何要切簡單模式 | 簡單模式下 Checkpoint 會自動截斷非作用中 VLF,釋放空間供收縮 |
| 收縮後必須全備 | 切回完整模式後,需完整備份建立新的日誌鏈基準點,否則日誌備份鏈斷裂 |
| 不可收縮至 0 | 保留至少 1-10MB,避免頻繁自動成長造成效能抖動 |
| 自動成長設定 | 建議固定大小成長 (如 512MB/1GB),禁止百分比成長 |
| VLF 過多問題 | 頻繁小幅自動成長會產生大量 VLF,影響啟動/還原/備份速度,收縮後重設合理初始大小 |
' 檢查日誌空間使用率
DBCC SQLPERF(LOGSPACE);
' 檢查 VLF 數量與大小
DBCC LOGINFO;
' 查看復原模式
SELECT name, recovery_model_desc FROM sys.databases;
.ldf 檔案 (未分離資料庫)BACKUP LOG WITH TRUNCATE_ONLY (SQL 2008 已移除)收縮是治標,**合理的備份策略、初始大小規劃、自動成長設定**才是治本。