Sql-Server
當輔助伺服器上的電源故障導致輔助失去 tlog 記錄時,非同步 AG 輔助如何與主同步?
在不需要 WSFC 集群的 SQL AG(讀取規模)非同步模式下,假設以下場景:
- Primary 將數據寫入其事務日誌,並將此日誌記錄發送到 Secondary
- 假設在上述日誌記錄到達輔助節點之前,輔助節點已斷電
當輔助啟動時,它如何將其數據庫與主同步?這是自動還是手動過程?
當輔助啟動時,它如何將其數據庫與主同步?
我在這裡進行粗略的介紹,因為細節並不重要,但是,整個過程是理解的重點。如果您想了解其內部工作原理,可以使用 XE 和各種其他方法來推斷深層內部結構。
當輔助節點啟動並連接到主節點時,它將交換一些基本資訊。其中一項是次要與將與主要協商的日誌有關的位置。然後可能會出現各種選項,例如:
- 次要超過主要並且需要撤消回到公共點。
- 輔助節點與主節點位於同一位置,並且將發送任何新日誌。
- 次要在主要之後。這有不同的子選項,例如對於公共點來說太落後並且需要匯總到公共分叉,或者存在公共分叉,輔助節點可以讓日誌流從公共分叉開始並繼續直到趕上.
其中大部分是自動的,唯一不是的部分是如果沒有用於主要和次要的公共分叉,並且需要進行手動干預。這將導致錯誤指出數據庫太落後,這是不言自明的。