若要支援自動故障轉移,資料庫鏡像會話必須設定為高安全性模式,並且擁有一個稱為見證的第三個伺服器實例。 見證是 SQL Server 的選擇性實例,可讓鏡像伺服器在高安全性模式會話中辨識是否起始自動故障轉移。 與兩位夥伴不同的是,見證並不是為資料庫服務。 支援自動容錯移轉是見證的唯一角色。
備註
在高效能模式中,見證可能會對可用性造成負面影響。 如果針對資料庫鏡像會話配置了見證,主伺服器必須至少連接到鏡像伺服器和見證中的其中之一或兩者。 否則,資料庫會變成無法使用,且無法強制啟用服務(可能導致數據遺失)。 因此,針對高效能模式,強烈建議您一律將見證設定為 OFF。 如需了解見證對高效能模式的影響,請參閱 資料庫鏡像作業模式。
下圖顯示具有見證的高安全模式會話。
本主題內容:
在多個會話中使用證人
特定伺服器實例可以做為並行資料庫鏡像會話中的見證,每個實例都適用於不同的資料庫。 不同的會話可以與不同的對象進行。 以下插圖顯示了一個作為兩個具有不同合作夥伴之資料庫鏡像會話中見證的伺服器實例。
單一伺服器實例也可以在某些會話中擔任見證角色,而在其他會話中擔任夥伴角色,同時運作。 不過,實際情況中,伺服器實例通常扮演見證者或夥伴的角色。 這是因為合作夥伴需要具備足夠硬體來支援生產資料庫的複雜計算機,而見證可以在任何支援 SQL Server 2014 的可用 Windows 系統上執行。
軟體和硬體建議
強烈建議見證位於與夥伴不同的計算機上。 只有 SQL Server Standard 版本和 SQL Server Enterprise 版本才支援資料庫鏡像夥伴。 相較之下,SQL Server 工作組和 SQL Server Express 也支援見證。 除了從舊版 SQL Server 升級期間,鏡像會話中的伺服器實例都必須執行相同的 SQL Server 版本。 例如,當您從 SQL Server 2008 鏡像配置升級時,SQL Server 2008 見證是支援的,但無法新增至現有或新的 SQL Server 2008 R2 或更新版本的鏡像配置。
見證可以在任何支持這些 SQL Server 版本的可靠電腦系統上執行。 不過,我們建議您使用做為見證的每個伺服器實例都對應到您執行之 SQL Server Standard 版本所需的最低組態。 如需這些需求的詳細資訊,請參閱 安裝 SQL Server 2014 的硬體和軟體需求。
自動故障轉移中見證者的角色
在整個資料庫鏡像會話中,所有伺服器實例都會監視其連線狀態。 如果夥伴彼此中斷連線,則他們依賴見證來確保目前只有其中一個為資料庫提供服務。 如果同步處理鏡像伺服器失去與主體伺服器的連線,但仍連線到見證,鏡像伺服器會連絡見證,以判斷見證是否已失去與主體伺服器的連線:
如果主伺服器仍然連接到見證者,則不會發生自動故障切換。 相反地,主體伺服器會繼續伺服器資料庫,同時累積記錄檔記錄,以在夥伴重新連線時傳送鏡像伺服器。
如果見證也與主體伺服器中斷連線,鏡像伺服器就會知道主體資料庫已無法使用。 在此情況下,鏡像伺服器會立即起始自動故障切換。
如果鏡像伺服器與見證和主體伺服器中斷連線,則不論主體伺服器的狀態為何,都不可能進行自動故障轉移。
要求至少有兩個伺服器實例連接,稱之為 仲裁。 Quorum可確保資料庫在任何時刻只能由一個夥伴提供服務。 如需瞭解法定人數的運作方式及它對會話的影響,請參閱法定人數:見證如何影響資料庫可用性(資料庫鏡像)。
新增或移除見證人
若要新增見證
移除證人
另請參閱
資料庫鏡像會話期間的角色切換 (SQL Server)
資料庫鏡像運作模式
法定人數:見證如何影響資料庫可用性(資料庫鏡像)
資料庫鏡像期間可能發生的失敗
鏡像狀態 (SQL Server)