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

SQL Server 交易記錄清理與壓縮三步驟

     編輯:關於SqlServer

適用場景

記錄檔 (.ldf) 過大佔用磁碟,需清理並釋放空間。警告: 以下操作會中斷記錄鏈,後續無法進行時間點還原,請先執行完整備份。

清理指令碼

-- 1. 截斷記錄 (簡易復原模式下等效)
DUMP TRANSACTION [資料庫名] WITH NO_LOG;
-- 或
BACKUP LOG [資料庫名] WITH NO_LOG;

-- 2. 壓縮資料庫檔案 (含記錄檔)
DBCC SHRINKDATABASE([資料庫名]);

最佳實務建議

  1. 先切換至 簡易復原模式:ALTER DATABASE [資料庫名] SET RECOVERY SIMPLE;
  2. 執行上述 DUMP/BACKUP LOG ... WITH NO_LOG (SQL 2008 後已棄用,建議改用 BACKUP LOG ... WITH TRUNCATE_ONLY 或直接切換復原模式後執行 DBCC SHRINKFILE)
  3. 針對記錄檔單獨壓縮更精準:DBCC SHRINKFILE (N'資料庫名_log', 目標大小MB);
  4. 完成後切回 完整復原模式 並立即執行完整備份,重建記錄鏈。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved