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

JDBC连接可用性组监听器报错,已加MultiSubnetFailover仍无法连通

AG监听器JDBC连接故障排查方案

你用IP地址可正常连接1433端口,说明网络链路、端口放行、SQL Server TCP/IP配置均无异常,问题集中在监听器名称解析、JDBC驱动配置/版本方向,可按以下步骤排查:

  • 排查监听器域名解析问题
    报错明确提示「名称或服务无法识别」,首先在应用运行的服务器上执行nslookup 你的实际监听器名称,确认是否能返回AG监听器对应的所有IP地址:

    如果你连接串里的Listener是占位符,请替换为实际配置的AG监听器域名

    • 若解析失败:请在DNS服务器上添加AG监听器的A记录,或临时在应用服务器的hosts文件中添加监听器名称与对应IP的映射
    • 若为多子网AG部署:确认监听器的DNS记录包含所有子网对应的IP,且DNS未配置IP返回限制策略
  • 修正MultiSubnetFailover参数大小写
    SQL Server JDBC驱动的参数严格区分大小写,必须写为MultiSubnetFailover=true(M、S、F均为大写),如果填写为小写开头的MultiSubnetfailover,驱动会无法识别该参数,导致配置不生效。
  • 升级JDBC驱动到兼容版本
    低于6.0版本的SQL Server JDBC驱动不支持AG监听器和MultiSubnetFailover参数,请升级到6.0及以上版本的mssql-jdbc驱动,确保驱动适配当前SQL Server的AG功能。
  • 补充超时配置(多子网场景可选)
    多子网部署下JDBC驱动需要遍历所有监听器IP尝试连接,可在连接串中添加connectTimeout=30000参数延长连接超时时间,避免未遍历完所有IP就触发超时。

修正后的参考连接串:

jdbc:sqlserver://你的实际监听器名称:1433;databaseName=test;MultiSubnetFailover=true;connectTimeout=30000

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:27:04