在传统的 SQL Server 集群中,当发生故障转移时,连接到 SQL Server 故障实例的所有客户端都会失去连接,并且每个客户端都必须重新建立与故障转移集群实例的新连接。
AlwaysON 可用性组是否缓解了这个问题?SQL Server 2012 AlwaysON 可用性组的故障转移对连接到 SQL Server 的客户端是否透明?
在传统的 SQL Server 集群中,当发生故障转移时,连接到 SQL Server 故障实例的所有客户端都会失去连接,并且每个客户端都必须重新建立与故障转移集群实例的新连接。
AlwaysON 可用性组是否缓解了这个问题?SQL Server 2012 AlwaysON 可用性组的故障转移对连接到 SQL Server 的客户端是否透明?
不会。在故障转移期间,客户会注意到。您与 SQL Server 的连接将中断,您将不得不重试您的事务。
对于那些后来由于网络搜索而阅读这篇文章的人。它确实在 SQL Server BOL中有所描述。呵呵……我之前没找到……
故障转移时客户端连接的行为
发生可用性组故障转移时,与可用性组的现有持久连接将终止,客户端必须建立新连接才能继续使用相同的主数据库或只读辅助数据库。当服务器端发生故障转移时,与可用性组的连接可能会失败,从而迫使客户端应用程序重试连接,直到主应用程序完全恢复联机。
如果可用性组在客户端应用程序的连接尝试期间但在连接超时期限之前重新联机,则客户端驱动程序可能会在其内部重试尝试之一期间成功连接,并且在这种情况下不会向应用程序显示任何错误。