若要參與 AlwaysOn 可用性群組或資料庫鏡像,伺服器實例需要自己的專用 資料庫鏡像端點。 此端點是專門用來接收來自其他伺服器實例之連線的特殊用途端點。 在指定的伺服器實例上,與任何其他伺服器實例的每個 AlwaysOn 可用性群組或資料庫鏡像連接都會使用單一資料庫鏡像端點。
資料庫鏡像端點會使用傳輸控制通訊協定 (TCP) 在參與資料庫鏡像會話或裝載可用性複本的伺服器實例之間傳送和接收訊息。 資料庫鏡像端點會在唯一的 TCP 端口號碼上接聽。
備註
與主體伺服器或主要複本的用戶端連線不會使用資料庫鏡像端點。
備註
資料庫鏡像功能將會在未來版本的 SQL Server Microsoft中移除。 請避免在新的開發工作中使用這項功能,並計劃修改目前使用資料庫鏡像的應用程式,改為使用 AlwaysOn 可用性群組。
伺服器網路位址
伺服器實例的網路位址(其 伺服器網路位址 或 端點 URL)包含其端點的埠號碼,以及其主計算機的系統和功能變數名稱。 埠號碼可唯一識別特定的伺服器實例。
下圖說明相同伺服器上的兩個實例如何被唯一識別。 這兩個伺服器實體的伺服器網路位址都包含相同的系統名稱 MYSYSTEM 和域名 Adventure-Works.MyDomain.com。 若要讓系統能夠將連線路由傳送至伺服器實例,伺服器網路位址會包含與特定伺服器實例鏡像端點相關聯的埠號碼。
根據預設,SQL Server 的實例不包含資料庫鏡像端點。 您必須手動建立這些設定,作為設定資料庫鏡像會話的一部分。 系統管理員必須在參與資料庫鏡像的每個伺服器實例中建立個別的端點。 請注意,如果指定計算機上的多個伺服器實例需要資料庫鏡像端點,請為每個端點指定不同的埠號碼。
這很重要
如果執行 SQL Server 的電腦具有防火牆,防火牆組態必須同時允許端點中所指定埠的連入和連出連線。
針對資料庫鏡像和 AlwaysOn 可用性群組,會在端點上設定驗證和加密。 如需詳細資訊,請參閱資料庫鏡像和 AlwaysOn 可用性群組的傳輸安全性(SQL Server)。
這很重要
請不要重新設定使用中資料庫鏡像端點。 伺服器實例會使用彼此的端點來瞭解其他系統的狀態。 如果重新設定端點,它可能會重新啟動,這似乎是其他伺服器實例的錯誤。 對於自動故障轉移模式來說,這特別重要,在此模式中,重新設定夥伴上的端點可能會導致故障轉移發生。
判斷資料庫鏡像端點的驗證類型
請務必瞭解伺服器實例的 SQL Server 服務帳戶會決定您可以用於資料庫鏡像端點的驗證類型,如下所示:
如果每個伺服器實例都在網域服務帳戶下執行,您可以針對資料庫鏡像端點使用 Windows 驗證。 如果所有伺服器實例都以相同的網域用戶帳戶執行,則兩個 master 資料庫中都會自動存在正確的使用者登入。 這可簡化可用性資料庫的安全性設定,並建議使用。
如果裝載可用性群組可用性複本的任何伺服器實例都會以不同的帳戶執行,則必須在其他伺服器實例的 master 中建立每個帳戶的登入。 然後,必須將該登入授與 CONNECT 許可權,才能連線到該伺服器實例的資料庫鏡像端點。 如需詳細資訊,請設定資料庫鏡像或 AlwaysOn 可用性群組的登入帳戶(SQL Server)。
如果您的伺服器實例使用 Windows 驗證,您可以使用 Transact-SQL、PowerShell 或新增可用性群組精靈來建立資料庫鏡像端點。
備註
如果裝載可用性複本的伺服器實例缺少資料庫鏡像端點,[新增可用性群組精靈] 可以自動建立使用 Windows 驗證的資料庫鏡像端點。 如需詳細資訊,請參閱 使用可用性群組精靈 (SQL Server Management Studio) 。
如果任何伺服器實例是在內建帳戶下執行,例如本機系統、本地服務或網路服務,或非網域帳戶,您必須使用憑證進行端點驗證。 如果您使用資料庫鏡像端點的憑證,系統管理員必須設定每個伺服器實例,以在輸出和輸入連線上使用憑證。
沒有使用憑證設定資料庫鏡像安全性的自動化方法。 您必須使用 CREATE ENDPOINT Transact-SQL 語句或
New-SqlHadrEndpointPowerShell cmdlet。 如需詳細資訊,請參閱 CREATE ENDPOINT (Transact-SQL)。 如需在伺服器實例上啟用憑證驗證的相關信息,請參閱使用資料庫鏡像端點的憑證(Transact-SQL)。
相關工作
設定資料庫鏡像端點
若要檢視有關資料庫鏡像端點的資訊
另請參閱
資料庫鏡像和 AlwaysOn 可用性群組的傳輸安全性 (SQL Server)
排除資料庫鏡像配置的問題 (SQL Server)
sys.dm_hadr_availability_replica_states (Transact-SQL)
sys.dm_db_mirroring_connections (Transact-SQL)