gpt4 book ai didi

java - SQL Server 2008 镜像使用什么机制来通知驱动程序主数据库已故障转移?

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

  • 我有一个使用 SQL 2008 镜像镜像的数据库。

  • 我有一个 Java 应用程序,在 Linux 上运行,使用 Microsoft SQL类型 4 JDBC 驱动程序。

  • 我将此设置复制为 QA 环境。

  • 在我的 QA 环境中,当我手动故障转移数据库时,如果已经建立了成功的连接,则故障转移是完全透明的。我不必在为了让应用程序与新原则(旧镜子)。

  • 但是在实时环境中,一旦我连接就停止工作已手动故障转移。

    实时环境和 QA 环境之间有很多不同之处,但我认为这不是这个过程的基础,数据库之间的通信在这两种情况下都是非常本地化的,并且没有防火墙(内置的防火墙除外) Windows Server 2008)在我的 Java 应用程序和运行 SQL 2008 的 Windows 机器之间。
    有没有人对我如何诊断这个问题有任何想法?或者任何人都可以告诉我这种故障转移透明性是如何发生的,以便我自己找出诊断方法吗?

最佳答案

此行为由 SQL Server 提供程序作为客户端重定向行为的一部分进行处理。这是 SQL Server 2005 JDBC(Java 数据库连接)1.1 驱动程序的一部分,但我不确定该提供程序是否直接用于新的 4 类驱动程序?

在您的实时环境中,您的应用程序是否在故障转移之前成功连接到主服务器,因此它能够缓存故障转移伙伴并在发生故障转移时使用它?

可以肯定的是,您可以在连接字符串中明确声明故障转移伙伴,这是推荐的做法:

jdbc:sqlserver://serverA:1433; databaseName=AdventureWorks;综合安全=真; failoverPartner=serverB

可以找到重定向行为的完整文档 here .

添加了故障转移文档 here表明这可能是人工考虑。

关于java - SQL Server 2008 镜像使用什么机制来通知驱动程序主数据库已故障转移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7873784/

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