首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

SQL Server trunc log on chkpt:Checkpoint 觸發機制而非固定時間間隔

     編輯:程式設計綜合問答

誤區澄清

trunc log on chkpt = true 並非按固定時間間隔截斷日志,而是在每次 Checkpoint 發生時截斷非活動部分。

Checkpoint 觸發事件

  • 日志文件循環使用達到閾值(自動)。
  • 手動執行 CHECKPOINT 命令。
  • 數據庫備份(全量/差異/日志備份)。
  • 執行 ALTER DATABASE ... SET OFFLINE/ONLINE、SHUTDOWN 等操作。
  • 大量載入(bcp/BULK INSERT)完成後。
  • 創建/刪除數據庫文件、修改恢復模式等 DDL 操作。

間隔時間不可控

間隔取決於事務量、日志增長速度、備份計劃,可能幾秒一次,也可能數小時一次。無法通過配置參數直接指定「每 N 分鐘截斷一次」。

生產環境建議

  1. 使用 完整恢復模式 + 定期 日志備份(如每 15 分鐘),由備份觸發截斷,可控且可恢復到任意時間點。
  2. 若不需時間點恢復,改用 簡單恢復模式,Checkpoint 自動截斷,免維護。
  3. 避免使用 trunc log on chkpt(已過時,SQL Server 2008+ 不推薦)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved