![如何使集群 SQL 2012 实例上的 SQL 镜像端点监听所有 IP?](https://linux22.com/image/733230/%E5%A6%82%E4%BD%95%E4%BD%BF%E9%9B%86%E7%BE%A4%20SQL%202012%20%E5%AE%9E%E4%BE%8B%E4%B8%8A%E7%9A%84%20SQL%20%E9%95%9C%E5%83%8F%E7%AB%AF%E7%82%B9%E7%9B%91%E5%90%AC%E6%89%80%E6%9C%89%20IP%EF%BC%9F.png)
我有一个群集 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 上进行监听。