可用性组能否提供无缝故障转移(没有查询失败)?

Joh*_*ohn 9 sql-server sql-server-2012 availability-groups

我一直在测试 SQL Server 2012 中的可用性组功能,我发现当主服务器故障转移到辅助服务器时,大约有 15 秒的停机时间。在此期间执行的所有 SQL 查询都将失败,直到故障转移转换完成。

有什么方法可以将其降低到 0 秒并防止查询在故障转移转换期间失败?

换句话说,有没有办法让在失败期间运行的任何查询被重定向到主服务器而不是失败......并且有没有办法让新的数据库连接立即连接到辅助服务器而不是失败在故障转移过渡期间连接?

我目前在可用性组中设置了 2 个服务器。

Sql*_*yan 9

不,没有办法使用 AlwaysOn(或一般在 SQL Server 中,据我所知)进行零停机故障转移。为此,您所连接的 SQL Server 必须在查询中将状态转移到另一个节点,而且由于许多故障转移是意外的,这是不可能的。

但是,您可以在 AlwaysOn 中启用“只读辅助”,然后您的读者在主服务器故障转移时将有零停机时间 - 因为他们无论如何都连接到辅助副本来执行他们的 SELECT 查询,他们不会甚至注意到故障转移。对于打开“写入”连接的用户来说,仍然会有中断,但至少您的用户群的某些部分不会中断。