許多資料庫管理員發現,單純執行資料庫收縮作業往往無法大幅減小資料檔(.mdf)體積,其核心效用實際上在於壓縮交易記錄檔(.ldf)。若長期疏於維護,記錄檔可能無限增長,佔用大量磁碟空間並影響備份效能。建議依業務需求制定定期收縮計畫,以下說明以 SQL Server Enterprise Manager 為例的標準操作流程。
步驟 1:暫時切換至簡單復原模式
收縮記錄檔前,必須先將資料庫復原模式從「完整」或「大量記錄」切換為「簡單」模式,以便截斷非作用中記錄區段。
- 開啟 SQL Server Enterprise Manager,展開主控台根節點 → Microsoft SQL Server → SQL Server 群組 → 目標伺服器實例 → 資料庫資料夾。
- 右鍵點選目標資料庫(如論壇資料庫
Forum),選擇「屬性」。
- 在「選項」頁籤的「復原模式」下拉選單中選取 簡單,按下「確定」儲存。
步驟 2:執行資料庫收縮作業
模式切換完成後,即可進行收縮:
- 在同一資料庫上按右鍵,依序選擇「所有工作」→「收縮資料庫」。
- 對話框中的預設參數(如目標可用空間百分比)通常無需調整,直接按「確定」執行。
- 等待作業完成,觀察記錄檔體積是否明顯下降。
步驟 3:恢復完整復原模式(關鍵)
收縮結束後,務必將復原模式改回「完整」(操作方式同步驟 1)。原因在於:完整模式下的交易記錄是災難復原的關鍵依據,可支援時間點還原;長期維持簡單模式將導致無法進行記錄備份,一旦發生媒體故障,資料遺失風險極大。
最佳實務建議
- 排程自動化:利用 SQL Server Agent 作業排程,在離峰時段自動執行收縮與模式切換,避免人為疏漏。
- 監控記錄檔成長:設定記錄檔自動成長增量為固定大小(如 512 MB),而非百分比,減少頻繁擴展造成的碎片。
- 定期記錄備份:在完整模式下,配合每小時或每 15 分鐘一次的記錄備份,能自然截斷記錄,從源頭控制檔案體積,減少手動收縮頻率。
透過規範的收縮流程與持續的備份策略,即可兼顧磁碟空間效率與資料安全性。