如何使集群 SQL 2012 实例上的 SQL 镜像端点监听所有 IP?

如何使集群 SQL 2012 实例上的 SQL 镜像端点监听所有 IP?

我有一个群集 SQL 2012 标准实例,我想设置数据库镜像。我还需要通过单独的 NIC 路由镜像流量。我们将辅助 IP 作为“IP 地址”资源添加到 SQL 服务器群集角色,在故障转移群集端,辅助网络配置为允许“群集和客户端”流量。我在辅助 IP 上添加了 SQL 服务器依赖项并重新启动了该角色,但镜像端点仍然只在群集角色的主接口(SQL 网络名称资源)上侦听。

监听器由以下命令创建:

CREATE ENDPOINT [endpointMirror] STATE=STARTED AS TCP (LISTENER_PORT = 7022, LISTENER_IP = ALL) FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS NEGOTIATE, ENCRYPTION = REQUIRED)

但它实际上只监听实例的主集群 IP(例如 10.1.1.208):

C:\>netstat -ano | find "7022"
  TCP    10.1.1.208:7022     0.0.0.0:0              LISTENING       12584

而在同样具有 2 个网络接口的非集群 SQL 服务器上,我看到了所需的行为,并且端点监听所有 IP:

C:\>netstat -ano | find "7022"
  TCP    0.0.0.0:7022           0.0.0.0:0              LISTENING       3836

有什么想法吗?如何配置集群实例端点以侦听所有接口?谢谢!

答案1

我走的路是对的,只是犯了一个错误。辅助 IP 必须作为服务器名称群集资源的依赖项添加,而不是作为 SQL Server 本身的依赖项添加。重新启动 SQL 服务后,它开始在 TSQL 和镜像端点的两个 IP 上进行监听。

相关内容