单一数据库的基本 Always On 可用性组

适用于:SQL Server

Always On 基本可用性组为标准版上的 SQL Server 2016 (13.x) 和更高版本提供高可用性解决方案。 基本可用性组支持单个数据库的故障转移环境。 与使用企业版创建和管理的传统(高级)可用性组非常类似。 本文档概述了基本可用性组的差异和限制。

功能

基本可用性组取代了已弃用的数据库镜像功能,并提供类似的功能支持级别。 基本可用性组使主数据库可以维护单一的副本。 此副本可以使用同步提交模式或异步提交模式。 有关可用性模式的详细信息,请参阅 AlwaysOn 可用性组的可用性模式之间的差异。 次要副本保持非活动状态,除非需要切换故障。 此故障转移会反转主要和次要角色分配,导致次要副本成为活动的主数据库。 有关故障转移的详细信息,请参阅故障转移和故障转移模式。 基本可用性组可以在跨本地和 Microsoft Azure 的混合环境中运行。

限制

与 SQL Server 2016 (13.x) Enterprise Edition 上的高级可用性组相比,基本可用性组使用一部分功能。 基本可用性组包括以下限制:

  • 两个副本(主要和次要)的限制。 Linux 上的 SQL Server 2017 (14.x) 的基本可用性组仅支持额外的配置副本。

  • 对次要副本没有读取访问权限。

  • 在次要副本上没有备份。

  • 在次要副本上没有完整性检查。

  • 不支持在 SQL Server 2016(13.x)之前运行 SQL Server 版本的服务器上托管的副本。

  • 支持一个可用性数据库。

  • 基本可用性组无法升级到高级可用性组。 必须将该组删除并重新添加到仅包含运行 SQL Server 2016(13.x)企业版的服务器的组中。

  • 标准版服务器仅支持基本可用性组。

  • 基本可用性组不能是分布式可用性组的一部分。

  • 可能有多个基本可用性组连接到一个 SQL Server 实例。

配置

可以在任意两个 SQL Server 2016(13.x) 标准版服务器上创建 Always On 基本可用性组。 当创建基本可用性组时,必须在创建期间指定两个副本。

若要创建基本可用性组,请使用 CREATE AVAILABILITY GROUP Transact-SQL 命令并指定 WITH BASIC 选项(默认值为 ADVANCED)。 从版本 17.8 开始,还可以使用 SQL Server Management Studio 中的 UI 创建基本可用性组。 有关详细信息,请参阅 CREATE AVAILABILITY GROUP

请参阅以下有关使用 Transact-SQL (T-SQL) 创建基本可用性组的示例:

CREATE AVAILABILITY GROUP [BasicAG]
WITH (AUTOMATED_BACKUP_PREFERENCE = PRIMARY,
BASIC,
DB_FAILOVER = OFF,
DTC_SUPPORT = NONE,
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 0)
FOR DATABASE [AdventureWorks]
REPLICA ON N'SQLVM1\MSSQLSERVER' WITH (ENDPOINT_URL = N'TCP://SQLVM1.Contoso.com:5022', FAILOVER_MODE = AUTOMATIC, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, SEEDING_MODE = AUTOMATIC, SECONDARY_ROLE(ALLOW_CONNECTIONS = NO)),
    N'SQLVM2\MSSQLSERVER' WITH (ENDPOINT_URL = N'TCP://SQLVM2.Contoso.com:5022', FAILOVER_MODE = AUTOMATIC, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, SEEDING_MODE = AUTOMATIC, SECONDARY_ROLE(ALLOW_CONNECTIONS = NO));

GO

注意

当指定WITH BASIC命令时,基本可用性组的限制适用于CREATE AVAILABILITY GROUP命令。 例如,如果尝试创建允许读取访问的基本可用性组,则会收到错误。 其他限制同样适用。 有关详细信息,请参阅本文的“限制”部分。