我在SQL服务器故障转移群集中有2个节点。 我始终使用SQL Server 2012作为高可用性的function。
问题是,当我的服务器发生故障时,自动故障切换不会发生!
我如何启用自动故障转移?
如果故障转移没有发生,首先要检查AlwaysOn是否真正启用。 也许最简单的testing方法是在AlwaysOn Dashboard上查看SQL Management Studio。 您的可用性组(AG)应至less有两个活动节点。 这是否表示您的AG是同步的? 请注意,与以前的HA解决scheme不同,SQL服务应始终在两台服务器上运行。
在仪表板中,您可以使用“故障转移向导”请求即时故障转移。 这是否成功? 以前的主节点是否在当前stream量的合理时间内正确重新同步? 这显然是你想要在几个小时后testing的东西。 如果您至less没有一个显示为同步的节点,则首先要解决该问题,以确保不会丢失数据。
接下来,看看客户端。 客户端应用程序必须使用SQL Server Native Client 11.0(或更高版本)来获得自动重新连接的能力。 较早的版本将简单地断开连接。
客户端连接到AG的监听器也很重要。 如果它们直接连接到一台服务器或另一台服务器,那么在发生故障转移时,将无法发现新激活的服务器。
请注意,AlwaysOn不需要特殊的networking路由或DNS更改,因为需要一些以前的解决scheme。 客户端应始终具有通向所有AG节点的开放式networkingpath。 监听器将在任何给定的时间通知客户端使用哪个节点。 不要忘记查看SQL客户端configuration实用程序(“开始”>“运行”>“cliconfg.exe”),查找可能将stream量导向到意外方向的别名。