gpt4 book ai didi

c# - .Net 应用程序未在连接字符串中使用故障转移伙伴

转载 作者:太空狗 更新时间:2023-10-30 01:15:38 25 4
gpt4 key购买 nike

我在两台带有见证服务器的 SQL 2012 标准版服务器上设置了 SQL 镜像。镜像在 SQL 方面非常有效,我可以故障转移到每个镜像。问题是当我手动故障转移到镜像服务器时,我的 .Net 应用程序没有访问故障转移伙伴,它们只是不断尝试访问主服务器并最终超时。我可以在 SQL 错误日志中看到主服务器上的连接尝试;错误是“无法访问明确指定的数据库”,这是有道理的,因为它现在是镜像并处于恢复状态。

这是我的连接字符串:

connectionString="Server=x.x.x.x,[port];Failover Partner=x.x.x.x,[port];Database=[dbname];Network=dbmssocn;Integrated Security=SSPI;Connection Timeout=60;MultipleActiveResultSets=true"

我试过以下方法:

  • 增加我的连接超时时间
  • 设置 Pooling=False
  • Windows 主机文件中的映射 IP 地址

如果我在故障转移后立即回收应用程序池,一切都很好,我什至可以故障转移回主实例,一切都很好。但是,如果我必须在故障转移后手动回收应用程序池,就会破坏高可用性/自动故障转移的全部目的。

我在这里错过了什么?

编辑:我基本上需要从这个页面解决方案 5 和 6:https://blogs.msdn.microsoft.com/spike/2010/12/08/clarification-on-the-failover-partner-in-the-connectionstring-in-database-mirror-setup/

最佳答案

对于遇到此问题的其他人。我将我的 SQL 实例切换回使用默认的 1433 端口,一切似乎都能完美地进行故障转移。

关于c# - .Net 应用程序未在连接字符串中使用故障转移伙伴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37313888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com