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

縮減 SQL Server 記錄檔 (LDF) 體積的三種實用方法

     編輯:關於SqlServer

記錄檔暴增是常見維運議題。以下三種方法由簡單到徹底:

方法一:備份記錄檔 + SHRINKDATABASE (適用完整復原模式)

BACKUP LOG MuOnline WITH NO_LOG;
BACKUP LOG MuOnline WITH TRUNCATE_ONLY;
DBCC SHRINKDATABASE(MuOnline);
-- 重複執行至檔案縮小
EXEC sp_dboption 'MuOnline', 'autoshrink', 'on';
-- 建立排程:每 30 分鐘記錄檔備份、每日完整備份
-- 縮小後關閉 autoshrink
EXEC sp_dboption 'MuOnline', 'autoshrink', 'off';

注意: SQL Server 2008+ 已移除 NO_LOG/TRUNCATE_ONLY,改用 BACKUP LOG ... TO DISK = 'NUL' (僅測試環境) 或切換簡單復原模式後縮減。

方法二:切換簡單復原模式 + 收縮 (最快見效)

  1. 資料庫屬性 → 選項 → 復原模式改為 簡單。
  2. 右鍵資料庫 → 所有工作 → 收縮資料庫 → 選擇「釋放未使用空間」。
  3. 後續記錄檔不再無限增長。

方法三:分離資料庫、刪除 LDF、重新附加 (最徹底,風險最高)

  1. 企業管理器 → 全部工作 → 分離資料庫。
  2. 至檔案目錄備份並刪除 MuOnline_log.LDF。
  3. 附加資料庫時僅選 .mdf,系統提示建立新記錄檔 → 確定。
  4. 重新設定資料庫使用者權限。

警示: 方法三會丟失所有未認可交易,僅限非生產或可接受資料遺失環境。生產環境請採方法一配合定期記錄檔備份。

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