2.2.3 两个同步副本和仅配置副本


具有两个 (或多个) 的同步副本和一个仅配置副本的可用性组提供数据保护,而且还可能提供高可用性。 下图显示此体系结构:

SQL Server 2017 AlwaysOn on Linux 配置和维护(7)_第1张图片

图示中的1和2表示:

1.同步用户数据复制到辅助副本。 它还包括可用性组配置元数据。

2.同步的可用性组配置元数据的复制。 它不包括用户数据。


在这个可用性组图中,主副本将配置数据推送到辅助副本和仅配置副本。辅助副本还会收到用户数据。 仅配置副本不会接收用户数据。 辅助副本处于同步可用性模式。仅配置副本不包含可用性组中的数据库--仅有关可用性组的元数据。仅配置副本上的配置数据是以同步方式提交。


注意:仅配置副本的 availabilility 组是用于 SQL Server 2017 CU1 的新功能。 SQL Server 可用性组中的所有实例必须都是 SQL Server 2017 CU1 或更高版本。

REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT默认值为 0。下表介绍可用性行为。


高可用性 (& a)
数据保护

数据保护

REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT=

0 *

@shouldalert

主要副本中断

自动故障转移。 新的主副本是 R / w。

自动故障转移。 新的主数据库不可用的用户事务。

次要副本中断

主要副本是 R/W,运行可能导致数据丢失 (如果主数据库将失败并且无法恢复)。 如果主没有自动故障转移也会失败。

主数据库不可用的用户事务。 如果主故障转移到没有副本也会失败。

配置仅副本中断

主要是 R / w。 如果主没有自动故障转移也会失败。

主要是 R / w。 如果主没有自动故障转移也会失败。

同步辅助 + 配置仅副本中断

主数据库不可用的用户事务。 无自动故障转移。

主数据库不可用的用户事务。 故障转移到如果没有副本以及主服务器失败。

* 默认值


备注:承载仅配置副本的 SQL Server 的实例还可以承载其他数据库。它还可加入作为多个可用性组的仅配置数据库。


要求:

  • 包含仅配置副本的可用性组中所有副本都必须都是 SQL Server 2017 CU1 或更高版本。

  • 任何版本的 SQL Server 可以承载仅配置副本,包括 SQL Server Express。

  • 除了主副本,可用性组需要至少一个辅助副本。

  • 仅配置副本不会计入每个 SQL Server 实例的副本的最大数目。SQL Server 标准版允许最多三个副本,SQL Server Enterprise Edition 支持最多 9个。


注意事项:

  • 每个可用性组不能超过一个仅配置副本。

  • 仅配置副本不能为主要副本。

  • 不能修改仅配置副本的可用性模式。若要从仅配置副本更改为同步或异步辅助副本,删除仅配置副本,并添加所需的可用性模式的辅助副本。

  • 仅配置副本与可用性组元数据是同步的。没有任何用户数据。

  • 具有一个主副本和一个仅配置副本,但没有任何辅助副本的可用性组时无效的。

  • 你不能在 SQL Server Express 版本的实例上创建可用性组。