“AlwaysOn”不总是“Always On”吗?

Dav*_*ary 8 sql-server failover availability-groups sql-server-2016

我们创建了一个 Windows 故障转移群集,然后添加了两个 SQL Server 实例作为 SQL Server 故障转移群集的节点。

我们在 SQL 配置管理器中将服务器设置为使用“AlwaysOn 可用性组”。

为了测试故障转移,我加载并运行了一个长查询,然后通过使用故障转移群集管理器停止活动节点上的群集服务来关闭活动节点。

查询在没有连接的情况下中断,在节点耗尽和新节点接管之前,服务器在大约 20 秒内显示为不可用。

我做错了吗?我应该如何配置它以便几乎没有连接丢失?

AlwaysOn 不是一直开启吗?

Bre*_*zar 19

你在这里有很多不同的问题。

问:什么是“永远在线”?

Microsoft 使用该品牌名称(在 2016 年之前没有空格)来描述两个不同的功能:

  • 故障转移集群实例 (FCI) - 您的祖父曾将其称为主动/被动集群
  • 可用性组 (AG) - 类似于数据库镜像,但在某些情况下适用于数据库组(但不适用于系统数据库)

使用这些术语来描述您正在使用的特定 Always On 功能。

问:在故障转移中,它会一直开启吗?

FCI 和 AG 都不是真的一直在线。在故障转移期间,您正在运行的事务将失败,并且连接重试可能会失败 5-60 秒(或更长时间)。您可以在应用程序中构建优雅的重试逻辑,或者构建像 Stack Overflow 这样的降级功能工具

问:如何配置始终开启?

它因以下因素而有很大差异:

  • 您使用的 AO 功能(FCI 或 AG)
  • 集群中的节点数
  • 您想如何处理法定人数(投票)
  • 无论您是通过侦听器还是虚拟计算机名称使用自动故障转移

这些都是涉及大量架构工作的重大决策。有关更详细的细节,请包括上述详细信息,我们将能够告诉您有关如何配置它的更多信息。

问:不就是选中 Always On 复选框吗?

不。