首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在故障转移期间Server可用性组侦听器和jdbc客户端的行为?

在故障转移期间Server可用性组侦听器和jdbc客户端的行为?
EN

Database Administration用户
提问于 2020-12-21 03:33:24
回答 2查看 380关注 0票数 2

我想问AG听众在故障转移过程中的行为.当故障转移发生时,我意识到主进程和次进程上的所有连接都是关闭的。

如果客户端应用程序使用的客户端库(如microsoft > 6.0),它们将立即开始尝试重新连接到与侦听器关联的ip地址。但是,在完成故障转移的10秒期间(或任何情况下)会发生什么呢?客户端是否可以成功地获得连接,但在尝试使用它时却得到了致命的错误消息?还是为了确保在故障转移期间没有任何客户端成功地获得连接,以便当客户端成功地获得连接时,它实际上是可用的?

(FYI关于microsoft驱动程序的行为,从源代码at:https://github.com/microsoft/mssql-jdbc/blob/dev/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerConnection.java判断,它将配置的loginTimeout除以8,因此在超时之前进行8次尝试。)

EN

回答 2

Database Administration用户

发布于 2020-12-21 05:10:02

我的理解是,在故障转移完成之前,没有任何客户端能够连接到侦听器并获得数据库连接。请参阅下面链接中的“自动故障转移如何工作”一节。看这里

票数 0
EN

Database Administration用户

发布于 2020-12-22 17:56:53

在完成故障转移的10秒期间(或任何情况下)发生了什么?

这就是"loginTimeout“的意义所在:

驱动程序在超时失败连接之前应等待的秒数。零值表示超时是默认的系统超时,默认为15秒。非零值是驱动程序在超时失败连接之前应该等待的秒数。

https://learn.microsoft.com/en-us/sql/connect/jdbc/setting-the-connection-properties?view=sql-server-ver15

客户端可能成功地获得连接,但在尝试使用它时只会得到致命的错误消息。

这是可能的,因为网络连接在AG联机之前就可用了,这发生在数据库恢复之前,如果这两者之间有异常的延迟,您可以在数据库恢复之前连接。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/281906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档