Sql-Server
如何將應用程序重新連接到 SQL Server 分佈式可用性組中的不同偵聽器
我創建了一個 SQL Server 分佈式可用性組 (AG),它跨越兩個底層 AG,每個 AG 都部署在不同位置的 Windows 群集上。我還為每個“本地”AG 創建了一個監聽器。我的應用程序使用其偵聽器連接到主 AG。但是,如果此 AG 出現故障並且我需要故障轉移到另一個位置(具有自己的偵聽器)的輔助 AG,則應用程序不會自動重新連接到第二個 AG,因為它具有不同的偵聽器。有沒有辦法配置應用程序,以便在第一個 AG 出現故障並故障轉移時重新連接到輔助 AG?
謝謝你。Ĵ
參考:
- 配置 Always On 分佈式可用性組
- Rajendra Gupta的分佈式 SQL Server Always On 可用性組概述
- 設置和實施 SQL Server 2016 Always On 分佈式可用性組,作者 Edwin Sarmiento
確保端點可以在分佈式可用性組中的不同可用性組之間進行通信。如果一個可用性組設置為端點上的特定網路,分佈式可用性組將無法正常工作。在託管分佈式可用性組中的副本的每台伺服器上,將偵聽器設置為偵聽所有 IP 地址 (LISTENER_IP = ALL)。
然後,您創建一個包含兩個偵聽器的分佈式可用性組。例子:
CREATE AVAILABILITY GROUP [distributedag] WITH (DISTRIBUTED) AVAILABILITY GROUP ON 'ag1' WITH ( LISTENER_URL = 'tcp://ag1-listener.contoso.com:5022', AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT, FAILOVER_MODE = MANUAL, SEEDING_MODE = AUTOMATIC ), 'ag2' WITH ( LISTENER_URL = 'tcp://ag2-listener.contoso.com:5022', AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT, FAILOVER_MODE = MANUAL, SEEDING_MODE = AUTOMATIC ); GO
它沒有支持多個集群之間自動故障轉移的機制。分佈式可用性組僅支持使用 FORCE_FAILOVER_ALLOW_DATA_LOSS 參數的手動故障轉移
您不能為分佈式可用性組配置偵聽器。在這種情況下,您的應用程序無法自動將連接重定向到另一個集群(主集群)。它需要在應用程序連接字元串中進行顯式配置