我一直在测试 SQL Server 2012 中的可用性组功能,发现当主服务器故障转移到辅助服务器时,大约有 15 秒的停机时间。在此期间执行的所有 SQL 查询都将失败,直到故障转移过渡完成。
有什么方法可以将其缩短到 0 秒并防止查询在故障转移过渡期间失败?
换句话说,有没有办法让在失败期间运行的任何查询被重定向到主服务器而不是失败......有没有办法让新的数据库连接立即连接到辅助服务器而不是失败在故障转移过渡期间连接?
我目前在可用性组中设置了 2 台服务器。
我一直在测试 SQL Server 2012 中的可用性组功能,发现当主服务器故障转移到辅助服务器时,大约有 15 秒的停机时间。在此期间执行的所有 SQL 查询都将失败,直到故障转移过渡完成。
有什么方法可以将其缩短到 0 秒并防止查询在故障转移过渡期间失败?
换句话说,有没有办法让在失败期间运行的任何查询被重定向到主服务器而不是失败......有没有办法让新的数据库连接立即连接到辅助服务器而不是失败在故障转移过渡期间连接?
我目前在可用性组中设置了 2 台服务器。
不,没有办法使用 AlwaysOn 进行零停机故障转移(或者在一般的 SQL Server 中,据我所知)。为此,您连接的 SQL Server 必须在查询过程中将状态转移到另一个节点,并且由于许多故障转移是意外的,因此这是不可能的。
但是,您可以在 AlwaysOn 中启用“只读辅助”,然后当主服务器故障转移时,您的读者将有零停机时间 - 因为他们无论如何都连接到辅助副本来执行他们的 SELECT 查询,他们不会甚至注意到故障转移。对于打开“写入”连接的用户来说,仍然会有中断,但至少您的用户群中的某些部分不会被中断。