Sql-Server-2016

數據庫鏡像 - 強制服務只會失去未送出的數據嗎?

  • January 15, 2020

我在Server1(主要)和Server2(次要)之間有一個高安全模式的數據庫鏡像會話

據此同步數據鏡像意味著

在主體數據庫上送出的每個事務也會在鏡像伺服器上送出,從而保證數據的保護。這是通過等待在主體數據庫上送出事務來實現的,直到主體伺服器收到來自鏡像伺服器的消息,說明它已將事務的日誌硬化到磁碟。請注意,等待此消息會增加事務的延遲

考慮到這一點,如果我Server1完全失去(並且無法恢復)並使用

ALTER DATABASE [MyDatabase] SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

我只會失去正在進行的交易Server1嗎?

正確,一旦主節點失去與輔助節點的連接(關閉),所有正在進行的事務將在主節點上回滾,並且永遠不會到達輔助節點。送出的事務保證在該模式下寫入鏡像伺服器上的磁碟。

這是一篇關於這個主題的更詳細的優秀文章 - https://www.sqlskills.com/blogs/paul/a-sql-server-dba-myth-a-day-130-in-flight-transactions-continue-故障轉移後/

引用自:https://dba.stackexchange.com/questions/257468