gpt4 book ai didi

sql-server - 使用 SQL 镜像和连接字符串进行自动故障转移

转载 作者:行者123 更新时间:2023-12-03 16:26:59 25 4
gpt4 key购买 nike

我使用见证服务器为 SQL 镜像和自动故障转移设置了 3 个服务器。这按预期工作。

现在,我连接到数据库的应用程序似乎在发生故障转移时出现问题 - 我需要手动干预并更改连接字符串才能再次连接。到目前为止,我发现的最佳解决方案是使用连接字符串的 Failover Partner 参数,但它既不直观也不完整:Data Source="Mirror";Failover Partner="Principal" found here .

从上面博客中的示例(场景 #3)来看,当第一次故障转移发生时,主体(故障转移合作伙伴)不可用,而是使用数据源(这是新的主体)。如果它再次失败(我只在有限的时间内尝试过),它就会出现一条错误消息。发生这种情况是因为连接字符串被缓存,所以在刷新之前,它会不断出现错误(似乎连接字符串在遇到错误后约 5 分钟刷新)。如果在故障转移后我交换数据源和故障转移伙伴,我将再次进行静默故障转移。

有没有办法为也使用镜像数据库的应用程序实现全自动故障转移(永远不会看到错误)?

我可以看到使用自定义脚本的潜在变通方法,这些脚本将轮询当前事件的数据库节点名称并相应地调整连接字符串,但目前这似乎有点矫枉过正。

最佳答案

在此处阅读博文 http://blogs.msdn.com/b/spike/archive/2010/12/15/running-a-database-mirror-setup-with-the-sqlbrowser-service-off-may-produce-unexpected-results.aspx

它解释了发生了什么,故障转移伙伴实际上是从 sql server 中读取的,而不是从您的配置中读取的。运行该帖子中的查询以找出实际用作故障转移服务器的服务器。它可能是一个无法从您的客户端运行位置发现的机器名称。

关于sql-server - 使用 SQL 镜像和连接字符串进行自动故障转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10606720/

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