首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 資料庫收縮實務:有效縮減交易記錄檔體積

     編輯:關於SqlServer

許多資料庫管理員發現,單純執行資料庫收縮作業往往無法大幅減小資料檔(.mdf)體積,其核心效用實際上在於壓縮交易記錄檔(.ldf)。若長期疏於維護,記錄檔可能無限增長,佔用大量磁碟空間並影響備份效能。建議依業務需求制定定期收縮計畫,以下說明以 SQL Server Enterprise Manager 為例的標準操作流程。

步驟 1:暫時切換至簡單復原模式

收縮記錄檔前,必須先將資料庫復原模式從「完整」或「大量記錄」切換為「簡單」模式,以便截斷非作用中記錄區段。

  1. 開啟 SQL Server Enterprise Manager,展開主控台根節點 → Microsoft SQL Server → SQL Server 群組 → 目標伺服器實例 → 資料庫資料夾。
  2. 右鍵點選目標資料庫(如論壇資料庫 Forum),選擇「屬性」。
  3. 在「選項」頁籤的「復原模式」下拉選單中選取 簡單,按下「確定」儲存。

步驟 2:執行資料庫收縮作業

模式切換完成後,即可進行收縮:

  1. 在同一資料庫上按右鍵,依序選擇「所有工作」→「收縮資料庫」。
  2. 對話框中的預設參數(如目標可用空間百分比)通常無需調整,直接按「確定」執行。
  3. 等待作業完成,觀察記錄檔體積是否明顯下降。

步驟 3:恢復完整復原模式(關鍵)

收縮結束後,務必將復原模式改回「完整」(操作方式同步驟 1)。原因在於:完整模式下的交易記錄是災難復原的關鍵依據,可支援時間點還原;長期維持簡單模式將導致無法進行記錄備份,一旦發生媒體故障,資料遺失風險極大。

最佳實務建議

  • 排程自動化:利用 SQL Server Agent 作業排程,在離峰時段自動執行收縮與模式切換,避免人為疏漏。
  • 監控記錄檔成長:設定記錄檔自動成長增量為固定大小(如 512 MB),而非百分比,減少頻繁擴展造成的碎片。
  • 定期記錄備份:在完整模式下,配合每小時或每 15 分鐘一次的記錄備份,能自然截斷記錄,從源頭控制檔案體積,減少手動收縮頻率。

透過規範的收縮流程與持續的備份策略,即可兼顧磁碟空間效率與資料安全性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved