DBA 常面臨記錄檔(.ldf)無限增長問題。單純收縮(Shrink)屬治標不治本,若不解決增長根因,空間很快又會被佔滿。
-- SQL 2000
EXEC sp_dboption '資料庫名', 'trunc. log on chkpt.', 'TRUE';
-- SQL 2005/2008+
ALTER DATABASE [資料庫名] SET RECOVERY SIMPLE;
機制:Checkpoint 時自動截斷非作用中記錄,檔案不再增長。代價:無法進行時間點還原,誤操作無法復原,嚴禁用於生產環境。
完整/大量記錄復原模式下,BACKUP LOG 會將非作用中記錄標記為可重複使用,SQL Server 循環使用記錄檔空間,避免無限增長。
完整備份建立新的復原基準點,完整備份之前的記錄備份即可安全刪除。維護計畫自動處理保留期限,達到空間循環利用。
| 做法 | 適用環境 | 風險 | 維護成本 |
|---|---|---|---|
| 簡單復原模式 | 開發/測試/唯讀資料 | 無法時間點還原 | 低 |
| 定期記錄備份 + 完整備份 | 生產環境 | 無(完整復原能力) | 中(需監控備份成功) |
| 單純 Shrink | 緊急救援 | 碎片化、效能下降、治標不治本 | 高(反覆操作) |
DBCC SQLPERF(LOGSPACE)),提前擴容或調整備份頻率。