SQL 中的 SQL 2017 Standard 始终位于两个节点 Basic AG 上。具有不同子网 IP 的侦听器有两条 DNS 记录
服务器跨子网,我们遇到了应用程序在与数据库通信时看到随机超时的问题,其他时候它以毫秒为单位响应。运行 Wireshark 后,我们可以看到应用程序正在尝试通过故障转移合作伙伴侦听器 IP 地址与数据库通信,这是不可读的副本。
我已阅读的此信息解释了 21 秒超时。
MultiSubnetFailover=TRUE 似乎是解决方案,但应用程序使用的是旧版本的 .NET 是否还有其他方法可以解决或解决此问题?
正如这里的文档中提到的,这个问题得到了解释:
有两个主要的解决方法:
在我看来,超过 20 秒的连接中有一半远非理想,我会考虑根据您的需要将其更改
RegisterAllProvidersIP
为 0 和设置。HostRecordTTL
知道过分降低这个值会增加 DNS 查询请求。您还可以在此处查看监控故障转移,这将有助于解决故障转移后的连接问题。