You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法在被动节点通过SSMS连接AGListener问题咨询

多子网SQL Server AG监听器在被动节点无法连接的排查方案

针对你提到的Windows Server 2012 R2 + SQL Server 2012双节点多子网集群场景:故障转移测试正常,但主节点可通过监听器名称连接,被动节点无法连接(但能ping通监听器IP),我整理了几个核心排查方向:

1. 刷新被动节点DNS缓存并验证监听器IP注册

虽然能ping通IP,但被动节点的DNS缓存可能还保留着主节点子网的监听器IP记录,导致解析异常:

  • 在被动节点的命令提示符运行:ipconfig /flushdns 清空DNS缓存
  • 执行 nslookup <你的监听器名称>,检查返回的IP是否包含当前活动节点所在子网的IP
  • 打开集群管理器,找到监听器资源的IP地址选项卡,确认两个子网的IP条目状态均为「在线」

2. 调整多子网AG监听器的RegisterAllProvidersIP参数

SQL Server 2012默认会让监听器注册所有子网的IP(RegisterAllProvidersIP=1),这会导致客户端可能解析到非活动子网的IP而连接失败:

  • 在被动节点打开PowerShell,执行以下命令查看当前参数值:
    Get-ClusterResource "<你的监听器名称>" | Get-ClusterParameter RegisterAllProvidersIP
    
  • 如果返回值为1,修改为0:
    Get-ClusterResource "<你的监听器名称>" | Set-ClusterParameter RegisterAllProvidersIP 0
    
  • 回到集群管理器,右键监听器资源选择「停止」,再「启动」生效配置

3. 检查被动节点的端口连通性与防火墙

Ping通IP不代表SQL服务端口能正常访问,需要验证:

  • 用命令 telnet <监听器IP> <SQL服务端口>(默认1433)测试端口连通性,不通的话检查Windows防火墙入站规则,确保SQL Server服务端口和监听器端口被允许
  • 确认被动节点上的SQL Server服务状态正常,可用性组副本状态为「已同步」或「同步中」

4. 优化SSMS连接方式

尝试调整SSMS的连接参数排除细节问题:

  • 连接时明确指定TCP端口,格式为 监听器名称,端口号(比如 MyListener,1433),强制使用TCP协议连接
  • 切换身份验证方式测试(比如用SQL身份验证,若已配置),排除Windows身份验证的域环境异常

内容的提问来源于stack exchange,提问作者Lbritten

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:35:42