小编Nea*_*had的帖子

我可以对 SQL Server 可用性组中的主副本使用不同的端点 URL 吗?

我正在设置一个 SQL Server 可用性组,其中包含集群内的三个同步副本(一个主副本和两个辅助副本)以及来自另一个数据中心的另一个集群的附加异步副本。我需要使用远程集群中异步副本的公共 IP 来公开主副本。

我的目标是使用专门用于远程异步副本的公共 IP 公开主副本。相反,集群中的其他同步副本使用集群中主副本的 DNS 名称与主副本进行通信。

创建可用性组时,我需要指定每个副本的端点 URL。是否可以为 SQL Server 可用性组中的不同副本显式使用主副本的不同端点 URL?我想确保只有远程异步副本使用公共 IP 与主副本进行通信。相反,集群中的其他副本继续使用集群中主副本的 DNS 名称。

示例:创建了三个节点的可用性组,mssql-primary-0 和 mssql-primary-1 是 Kubernetes 集群中的两个 pod,它们使用无头服务(pod 的 DNS 名称)进行通信。mssql-remote-0 pod 来自使用负载均衡器服务的外部 IP 公开的另一个集群。

CREATE AVAILABILITY GROUP [AG1]
      WITH (CLUSTER_TYPE = NONE)
      FOR REPLICA ON
      N'mssql-primary-0'
            WITH (
            ENDPOINT_URL = N'tcp://mssql-primary-0.headless-service:5022',
            AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
               SEEDING_MODE = AUTOMATIC,
               FAILOVER_MODE = MANUAL,
            SECONDARY_ROLE (ALLOW_CONNECTIONS = ALL)
               ),
      N'mssql-primary-1'
            WITH (
            ENDPOINT_URL = N'tcp://mssql-primary-1.headless-service:5022',
            AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
               SEEDING_MODE = AUTOMATIC,
               FAILOVER_MODE = …
Run Code Online (Sandbox Code Playgroud)

sql-server high-availability availability-groups

3
推荐指数
1
解决办法
61
查看次数