SQL Server 交易持久性與延遲交易持久

May 31, 2024

如果需要大量寫入資料庫的時候,可以要求 SQL Server 先回報成功,再將變更結果從緩衝區寫入資料庫,即「延遲交易持久」功能。(標題看起來很饒舌)

語法和說明

WITH ( DELAYED_DURABILITY = { ON | OFF } )
  • 「交易持久性」表示交易記錄寫入磁碟的時機。
  • 不啟用延遲交易持久時,交易完成時一定寫入至磁碟,交易完成後可立即被其它交易看到。
  • 啟用延遲交易持久時,先將交易紀錄檔放置於緩衝區中,直到緩衝區滿或清理緩衝區時,才寫入磁碟。交易完成後也可立即被其它交易看到。
    • 特定情況可能會導致資料遺失,例如 SQL Server 當機或關機的情形,有可能來不及將緩衝區的資料寫入到磁碟。

參考資料