适用于: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命令。 例如,如果尝试创建允许读取访问的基本可用性组,则会收到错误。 其他限制同样适用。 有关详细信息,请参阅本文的“限制”部分。