Amazon RDS for Microsoft SQL Server 多可用区部署
多可用区部署为数据库实例提供了更高的可用性、数据持久性和容错能力。在进行计划的数据维护或发生未计划的服务中断时,Amazon RDS 会自动故障转移到最新的辅助数据库实例。此功能让数据库操作快速恢复,而不需要手动干预。主实例和备用实例使用相同的终端节点,其物理网络地址作为故障转移过程的一部分转换到辅助副本。在故障转移时,您不必重新配置应用程序。
Amazon RDS 通过使用 SQL Server 数据库镜像(DBM)或 Always On 可用性组(AG)支持为运行 Microsoft SQL Server 进行多可用区部署。Amazon RDS 监控并维护您的多可用区部署的运行状况。如果出现问题,RDS 会自动修复运行状况不佳的数据库实例,重新建立同步,并发起故障转移。仅当备用实例和主要实例完全同步时,才会发生故障转移。您不必管理任何内容。
当您设置 SQL Server 多可用区时,RDS 自动将实例上的所有数据库配置为使用 DBM 或 AG。Amazon RDS 负责处理主要、见证以及辅助数据库实例。因为配置是自动的,所以 RDS 基于您部署的 SQL Server 版本选择 DBM 或 Always On AG。
Amazon RDS 支持在以下 SQL Server 版本中使用带 Always On AG 的多可用区:
-
SQL Server 2022:
-
标准版
-
Enterprise Edition
-
-
SQL Server 2019:
-
标准版 15.00.4073.23 及更高版本
-
Enterprise Edition
-
-
SQL Server 2017:
-
标准版 14.00.3401.7 及更高版本
-
企业版 14.00.3049.1 及更高版本
-
-
SQL Server 2016:企业版 13.00.5216.0 及更高版本
Amazon RDS 支持以下 SQL Server 版本带 DBM 的多可用区,前面提到的版本除外:
-
SQL Server 2019:标准版 15.00.4043.16
-
SQL Server 2017:标准版和企业版
-
SQL Server 2016:标准版和企业版
您可以使用以下 SQL 查询来确定 SQL Server 数据库实例是单可用区、DBM 多可用区还是 Always On AG 多可用区。
SELECT CASE WHEN dm.mirroring_state_desc IS NOT NULL THEN 'Multi-AZ (Mirroring)' WHEN dhdrs.group_database_id IS NOT NULL THEN 'Multi-AZ (AlwaysOn)' ELSE 'Single-AZ' END 'high_availability' FROM sys.databases sd LEFT JOIN sys.database_mirroring dm ON sd.database_id = dm.database_id LEFT JOIN sys.dm_hadr_database_replica_states dhdrs ON sd.database_id = dhdrs.database_id AND dhdrs.is_local = 1 WHERE DB_NAME(sd.database_id) = 'rdsadmin';
输出与以下内容类似:
high_availability Multi-AZ (AlwaysOn)
向 Microsoft SQL Server 数据库实例添加多可用区
当您使用 Amazon Web Services Management Console创建新的 SQL Server 数据库实例时,您可以添加带数据库镜像 (DBM) 或 Always On AG 的多可用区。您可以通过从多可用区部署中选择 Yes (Mirroring / Always On) (是(镜像/Always On)) 来执行此操作。有关更多信息,请参阅 创建 Amazon RDS 数据库实例。
当使用控制台修改现有 SQL Server 数据库实例时,可以通过从 Modify DB instance(修改数据库实例)页面上的 Multi-AZ deployment(多可用区部署)中选择 Yes (Mirroring / Always On) [是(镜像/始终使用)],以添加带 DBM 或 AG 的多可用区。有关更多信息,请参阅 修改 Amazon RDS 数据库实例。
注意
如果您的数据库实例运行的是数据库镜像 (DBM)(并非 Always On 可用性组 (AG)),则可能需要在添加多可用区之前禁用内存中优化。如果数据库实例运行 SQL Server 2016 或 2017 企业版并启用了内存优化,则在添加多可用区之前通过 DBM 禁用内存优化。
如果您的数据库实例正在运行 AG,则不需要此步骤。
从 Microsoft SQL Server 数据库实例删除多可用区
当您使用 Amazon Web Services Management Console修改现有 SQL Server 数据库实例时,您可以删除带 DBM 或 AG 的多可用区。您可以通过在 Modify DB instance(修改数据库实例)页面上的 Multi-AZ deployment(多可用区部署)中选择 No (Mirroring / Always On) [否(镜像/始终打开)] 来实现上述目的。有关更多信息,请参阅 修改 Amazon RDS 数据库实例。