升级 Amazon RDS Custom for SQL Server 数据库实例
您可以通过修改 Amazon RDS Custom for SQL Server 数据库实例,以使其使用新的数据库引擎版本来升级该实例。有关升级数据库实例的一般信息,请参阅升级数据库实例引擎版本。
RDS Custom for SQL Server 升级概述
Amazon RDS Custom for SQL Server 支持主要版本和次要版本升级。次要版本升级可能包括安全补丁、错误修复和引擎改进。Microsoft 以累积更新(CU)形式发布这些更新。主要版本升级在版本之间引入了新功能和引擎更改,例如从 SQL Server 2019 升级到 2022。您可以立即或在计划的维护时段内应用这两种升级。为防止出现潜在的向后兼容性问题,建议在升级之前,先在非生产环境中测试应用程序。
RDS Custom for SQL Server 可让您升级 RDS 提供的引擎版本(RPEV)或自定义引擎版本(CEV)。
-
RDS 提供的引擎版本(RPEV)包含最新的操作系统(OS)补丁和 SQL Server 累积更新(CU)。
-
对于自定义引擎版本(CEV),您必须遵循由两个步骤组成的过程。首先,使用目标 SQL Server 版本创建新的 CEV,请参阅正在准备创建适用于 RDS Custom for SQL Server 的 CEV。此目标版本必须等于或高于您的当前版本。创建新的 CEV 后,修改数据库实例以使用此新版本。有关更多信息,请参阅 Performing a minor version upgrade for Amazon RDS Custom for SQL Server CEV with Multi-AZ
。
如果您在多可用区部署中升级 RDS Custom for SQL Server 数据库实例,则 RDS Custom for SQL Server 会对实例执行滚动升级。这种方法通过一次升级一个实例来最大限度地减少停机时间。RDS 执行以下操作来执行滚动升级:
-
升级备用数据库实例。
-
失效转移到升级后的备用数据库实例,使其成为新的主数据库实例。
-
升级新的备用数据库实例。
多可用区部署的数据库实例停机时间是失效转移所花费的时间。
升级 RDS Custom for SQL Server 数据库实例时,以下限制适用:
-
不支持自定义数据库选项和参数组。
-
升级后,将不会连接到您连接到 RDS Custom for SQL Server 数据库实例的任何其它存储卷。
升级主要和次要引擎版本
主要和次要引擎版本升级都是不可逆转的,必须始终升级到较新的版本。要确定可用的目标版本,请在修改数据库实例时使用 Amazon Web Services Management Console并从可用版本中进行选择。或者,使用 describe-db-engine-versions
CLI 命令或 DescribeDBEngineVersions RDS API 命令。
对于 Linux、macOS 或 Unix:
aws rds describe-db-engine-versions \ --engine custom-sqlserver-se \ --engine-version
15.00.4322.2.v1
\ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" \ --output table
对于 Windows:
aws rds describe-db-engine-versions ^ --engine custom-sqlserver-se ^ --engine-version
15.00.4322.2.v1
^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" ^ --output table
输出显示可用的目标引擎版本:
-------------------------- |DescribeDBEngineVersions| +------------------------+ | EngineVersion | +------------------------+ | 15.00.4410.1.v1 | | 15.00.4415.2.v1 | | 15.00.4430.1.v1 | | 16.00.4165.4.v1 | | 16.00.4175.1.v1 | | 16.00.4185.3.v1 | +------------------------+
确定目标版本后,使用 Amazon Web Services Management Console并按照修改 RDS Custom for SQL Server 数据库实例中的说明操作。或者,也可以使用 modify-db-instance
CLI 命令或 ModifyDBInstance RDS API 命令。
对于 Linux、macOS 或 Unix:
aws rds modify-db-instance \ --db-instance-identifier
DB_INSTANCE_IDENTIFIER
\ --engine-versionENGINE_VERSION
\ --allow-major-version-upgrade \ --regionRegion
\ --no-apply-immediately
对于 Windows:
aws rds modify-db-instance ^ --db-instance-identifier
DB_INSTANCE_IDENTIFIER
^ --engine-versionENGINE_VERSION
^ --allow-major-version-upgrade ^ --regionRegion
^ --no-apply-immediately
注意
必须包含 --allow-major-version-upgrade
参数才能执行主要版本升级。
数据库兼容性级别
您可以使用 Microsoft SQL Server 数据库兼容性级别调整某些数据库行为,以模仿之前版本的 SQL Server。有关更多信息,请参阅 Microsoft 文档中的兼容性级别
在升级数据库实例时,任何现有的数据库将保持其原始兼容性级别。例如,如果从 SQL Server 2019 升级到 SQL Server 2022,所有现有数据库的兼容性级别均为 150。在升级后创建的所有新数据库的兼容性级别均为 160。
您可以使用 ALTER DATABASE 命令更改数据库的兼容性级别。例如,要将名为 customeracct
的数据库更改为与 SQL Server 2022 兼容,请发出以下命令:
ALTER DATABASE customeracct SET COMPATIBILITY_LEVEL = 160