資料庫映象 (SQL Server)操作模式

上海赛亿数据恢复發表於2024-06-08

資料庫映象會話以同步操作或非同步操作執行。 在非同步操作下,事務不需要等待映象伺服器將日誌寫入磁碟便可提交,這樣可最大程度地提高效能。 在同步操作下,事務將在夥伴雙方處提交,但會延長事務滯後時間。
有兩種映象執行模式。 一種是高安全性模式,它支援同步操作。 在高安全性模式下,當會話開始時,映象伺服器將使映象資料庫儘快與主體資料庫同步。 一旦同步了資料庫,事務將在夥伴雙方處提交,這會延長事務滯後時間。
第二種執行模式,即高效能模式,以非同步方式執行。 映象伺服器嘗試與主體伺服器傳送的日誌記錄保持同步。 映象資料庫可能稍微滯後於主體資料庫。 但是,資料庫之間的時間間隔通常很小。 但是,如果主體伺服器的工作負荷過高或映象伺服器系統的負荷過高,則時間間隔會增大。
在高效能模式中,主體伺服器向映象伺服器傳送日誌記錄之後,會立即再向客戶端傳送一條確認訊息。 它不會等待映象伺服器確認。 這意味著事務不需要等待映象伺服器將日誌寫入磁碟便可提交。 此非同步操作允許主體伺服器在事務滯後時間最小的條件下執行,但可能會丟失某些資料。
所有資料庫映象會話都只支援一臺主體伺服器和一臺映象伺服器。 下圖顯示了該配置。

具有自動故障轉移功能的高安全性模式要求使用第三個伺服器例項,稱為見證伺服器。 與這兩個夥伴不同的是,見證伺服器並不能用於資料庫。 見證伺服器透過驗證主體伺服器是否已啟用並執行來支援自動故障轉移。 只有在映象伺服器和見證伺服器與主體伺服器斷開連線之後而保持相互連線時,映象伺服器才啟動自動故障轉移。
下圖顯示了包含見證伺服器的配置。

在資料庫映象會話上下文中,通常可以使用一個稱為“角色切換” 的過程來互換主體角色和映象角色。 角色切換涉及將主體角色轉換給映象伺服器的操作。 在角色切換中,映象伺服器充當主體伺服器的“故障轉移夥伴 ”。 進行角色切換時,映象伺服器將接管主體角色,並使其資料庫的副本聯機以作為新的主體資料庫。 以前的主體伺服器(如果有)將充當映象角色,並且其資料庫將變為新的映象資料庫。 這些角色可以反覆地來回切換。
存在以下三種角色切換形式。
自動故障轉移
這要求使用高安全性模式並具有映象伺服器和見證伺服器。 資料庫必須已同步,並且見證伺服器必須連線到映象伺服器。
見證伺服器的作用是驗證給定的夥伴伺服器是否已啟動並執行。 如果映象伺服器與主體伺服器斷開連線,但見證伺服器仍與主體伺服器保持連線,則映象伺服器無法啟動故障轉移。 有關詳細資訊,請參閱 資料庫映象見證伺服器。
手動故障轉移
這要求使用高安全性模式。 夥伴雙方必須互相連線,並且資料庫必須已同步。
強制服務(可能造成資料丟失)
在高效能模式和不帶自動故障轉移功能的高安全性模式下,如果主體伺服器出現故障而映象伺服器可用,則可以強制服務執行。
重要
高效能模式用於在沒有見證伺服器的情況下執行。 但如果存在見證伺服器,則強制服務將要求見證伺服器連線到映象伺服器。
在任何一種角色切換情況下,一旦新的主體資料庫聯機,客戶端應用程式便會透過重新連線到資料庫來快速恢復。

相關文章