資料庫映象會話以同步操作或非同步操作執行。 在非同步操作下,事務不需要等待映象伺服器將日誌寫入磁碟便可提交,這樣可最大程度地提高效能。 在同步操作下,事務將在夥伴雙方處提交,但會延長事務滯後時間。
有兩種映象執行模式。 一種是高安全性模式,它支援同步操作。 在高安全性模式下,當會話開始時,映象伺服器將使映象資料庫儘快與主體資料庫同步。 一旦同步了資料庫,事務將在夥伴雙方處提交,這會延長事務滯後時間。
第二種執行模式,即高效能模式,以非同步方式執行。 映象伺服器嘗試與主體伺服器傳送的日誌記錄保持同步。 映象資料庫可能稍微滯後於主體資料庫。 但是,資料庫之間的時間間隔通常很小。 但是,如果主體伺服器的工作負荷過高或映象伺服器系統的負荷過高,則時間間隔會增大。
在高效能模式中,主體伺服器向映象伺服器傳送日誌記錄之後,會立即再向客戶端傳送一條確認訊息。 它不會等待映象伺服器確認。 這意味著事務不需要等待映象伺服器將日誌寫入磁碟便可提交。 此非同步操作允許主體伺服器在事務滯後時間最小的條件下執行,但可能會丟失某些資料。
所有資料庫映象會話都只支援一臺主體伺服器和一臺映象伺服器。 下圖顯示了該配置。
具有自動故障轉移功能的高安全性模式要求使用第三個伺服器例項,稱為見證伺服器。 與這兩個夥伴不同的是,見證伺服器並不能用於資料庫。 見證伺服器透過驗證主體伺服器是否已啟用並執行來支援自動故障轉移。 只有在映象伺服器和見證伺服器與主體伺服器斷開連線之後而保持相互連線時,映象伺服器才啟動自動故障轉移。
下圖顯示了包含見證伺服器的配置。
在資料庫映象會話上下文中,通常可以使用一個稱為“角色切換” 的過程來互換主體角色和映象角色。 角色切換涉及將主體角色轉換給映象伺服器的操作。 在角色切換中,映象伺服器充當主體伺服器的“故障轉移夥伴 ”。 進行角色切換時,映象伺服器將接管主體角色,並使其資料庫的副本聯機以作為新的主體資料庫。 以前的主體伺服器(如果有)將充當映象角色,並且其資料庫將變為新的映象資料庫。 這些角色可以反覆地來回切換。
存在以下三種角色切換形式。
自動故障轉移
這要求使用高安全性模式並具有映象伺服器和見證伺服器。 資料庫必須已同步,並且見證伺服器必須連線到映象伺服器。
見證伺服器的作用是驗證給定的夥伴伺服器是否已啟動並執行。 如果映象伺服器與主體伺服器斷開連線,但見證伺服器仍與主體伺服器保持連線,則映象伺服器無法啟動故障轉移。 有關詳細資訊,請參閱 資料庫映象見證伺服器。
手動故障轉移
這要求使用高安全性模式。 夥伴雙方必須互相連線,並且資料庫必須已同步。
強制服務(可能造成資料丟失)
在高效能模式和不帶自動故障轉移功能的高安全性模式下,如果主體伺服器出現故障而映象伺服器可用,則可以強制服務執行。
重要
高效能模式用於在沒有見證伺服器的情況下執行。 但如果存在見證伺服器,則強制服務將要求見證伺服器連線到映象伺服器。
在任何一種角色切換情況下,一旦新的主體資料庫聯機,客戶端應用程式便會透過重新連線到資料庫來快速恢復。
資料庫映象 (SQL Server)操作模式
相關文章
- 資料庫映象 (SQL Server)資料庫SQLServer
- 通過SQL Server資料庫映象保護虛擬資料庫ICSQLServer資料庫
- SQL Server2008 R2 資料庫映象配置方案SQLServer資料庫
- 關於SQL Server 映象資料庫快照的建立及使用SQLServer資料庫
- SQL Server資料庫安全SQLServer資料庫
- Blazor使用sql server 資料庫BlazorSQLServer資料庫
- SQL Server資料庫巡檢SQLServer資料庫
- sql server 2005資料庫快照SQLServer資料庫
- SQL Server收縮資料庫SQLServer資料庫
- sql server 資料庫收縮SQLServer資料庫
- SQL Server資料庫遷移SQLServer資料庫
- 管理SQL Server資料庫安全SQLServer資料庫
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- Sql Server 資料庫學習-常用資料庫 物件SQLServer資料庫物件
- SQL Server 跨資料庫查詢SQLServer資料庫
- 【資料庫學習】資料庫平臺:mysql,sql server資料庫MySqlServer
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- SQL Server 資料庫基本記錄(一)SQLServer資料庫
- 資料庫監視器(SQL Server Profilter)資料庫SQLServerFilter
- SQL Server DACPAC資料庫部署錯誤SQLServer資料庫
- SQL Server統計資料庫中表大小SQLServer資料庫
- SQL Server 資料庫基本記錄(二)SQLServer資料庫
- SQL Server 資料庫基本記錄(三)SQLServer資料庫
- c#連線SQL Server資料庫C#SQLServer資料庫
- 資料庫常用操作SQL語句資料庫SQL
- T-SQL之資料庫操作SQL資料庫
- SQL資料庫操作語言DCLSQL資料庫
- 還原sql server 2000資料庫的坑,不同版本資料庫SQLServer資料庫
- SQL Server無法刪除資料庫 "xxx",因為該資料庫當前正在使用(如何刪除一個Sql Server資料庫)SQLServer資料庫
- Sql Server2014資料庫清理日誌SQLServer資料庫
- SQL Server實戰四:查詢資料庫的資料SQLServer資料庫
- 將 SQL Server 資料庫還原到某個時點(完整恢復模式)SQLServer資料庫模式
- Nodejs 操作 Sql ServerNodeJSSQLServer
- java 資料庫程式設計(一)JDBC連線Sql Server資料庫Java資料庫程式設計JDBCSQLServer
- SQL Server 查詢資料庫中所有表資料條數SQLServer資料庫
- 利用SQL Server Management Studio(SSMS)複製資料庫SQLServerSSM資料庫
- SQL Server 資料庫基礎筆記分享(上)SQLServer資料庫筆記
- 如何建立和還原SQL Server 2000資料庫?SQLServer資料庫