gpt4 book ai didi

c# - SQLServer AlwaysOn 和 .net SqlConnection 重置

转载 作者:行者123 更新时间:2023-11-30 23:05:50 26 4
gpt4 key购买 nike

在我们的环境中,我们在具有两台服务器的集群上使用 SQLServer Always。

其中一个用于写入,第二个用于读取。在应用程序服务中,SqlConnection 每秒打开和关闭一次以执行短查询。但是在切换或关闭 Always On 集群中的其中一台服务器后,我的应用程序服务开始出现异常。

这表明它不能在只读数据库中插入任何数据。我认为主要原因是 SqlConnection 实现中的连接池。

所以问题是如何手动重置连接池。或者,如果还有其他类型的问题 - 让我知道您对这种行为有何看法。

最佳答案

需要在连接字符串中设置MultiSubnetFailover = True并实现重试逻辑:

If a SqlClient application is connected to an AlwaysOn database that fails over, the original connection is broken and the application must open a new connection to continue work after the failover.

SqlClient Support for High Availability, Disaster Recovery

还有:

Setting MultiSubnetFailover to true isn't required with .NET Framework 4.6.1 or later versions.

关于c# - SQLServer AlwaysOn 和 .net SqlConnection 重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48577655/

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