升级 RDS for SQL Server 的 BYOM 数据库实例
您可在 RDS for SQL Server 上,对 BYOM 数据库实例应用次要引擎版本升级。次要版本升级包括 Microsoft 累积更新,其中包含安全补丁、错误修复和性能改进。
与含许可证实例不同,升级 BYOM 实例需要在启动升级之前提供 BYOM 引擎版本。
确定有效的升级目标
在升级之前,请确定哪些引擎版本可用作当前版本的有效升级目标。
使用 describe-db-engine-versions 命令列出有效的次要版本升级目标:
示例:
aws rds describe-db-engine-versions \ --engine sqlserver-ee \ --engine-version 15.00.4440.1.v1 \ --include-all \ --query "DBEngineVersions[?DBEngineMediaType=='Customer Provided'].ValidUpgradeTarget[] | [?IsMajorVersionUpgrade==\`false\`]"
示例输出。
[ { "Engine": "sqlserver-ee", "EngineVersion": "15.00.4455.2.v1", "AutoUpgrade": false, "IsMajorVersionUpgrade": false }, ..... { "Engine": "sqlserver-ee", "EngineVersion": "15.00.4465.1.v1", "AutoUpgrade": false, "IsMajorVersionUpgrade": false } ]
应用 BYOM 版本升级(AWS CLI)
在启动版本升级之前,请制作手动快照。Amazon RDS 会创建自动快照,但手动快照会向您提供已知的还原点。
示例:
aws rds modify-db-instance \ --db-instance-identifier my-byom-instance \ --engine-version 15.00.4465.1.v1 \ --no-apply-immediately
注意
使用 --no-apply-immediately 时,Amazon RDS 在下一个维护时段内应用更改。使用 --apply-immediately 可立即应用更改。有关更多信息,请参阅使用计划修改设置。
验证上传
升级完成后,验证数据库实例上的新引擎版本。
示例:
aws rds describe-db-instances \ --db-instance-identifier my-byom-instance \ --query "DBInstances[*].[DBInstanceIdentifier,EngineVersion,DBInstanceStatus,LicenseModel]"
[ [ "my-byom-instance", "15.00.4465.1.v1", "available", "bring-your-own-media" ] ]
请确认以下值:
EngineVersion与您的目标版本相匹配。DBInstanceStatus为available。LicenseModel为bring-your-own-media。
将含许可证实例转换为自带媒体
您可以将现有 RDS for SQL Server 实例从含许可证模式转换为 BYOM。这样,您就可以使用自己的 SQL Server 许可证,而不必支付 AWS 包含的许可费。
注意
对于实例的当前引擎版本,您的 BYOM 引擎版本必须处于 available 状态。
使用 modify-db-instance 命令更改许可模式:
aws rds modify-db-instance \ --db-instance-identifier DB_INSTANCE_IDENTIFIER \ --license-model bring-your-own-media \ --no-apply-immediately
注意
使用 --no-apply-immediately 时,Amazon RDS 在下一个维护时段内应用更改。使用 --apply-immediately 可立即应用更改。有关更多信息,请参阅使用计划修改设置。
要核实数据库实例的当前许可模式,请使用 describe-db-instances 命令并检查响应中的 LicenseModel 字段。如果正在进行修改,请检查 PendingModifiedValues 字段中的待处理许可模式。修改完成后,LicenseModel 字段反映新值。有关更多信息,请参阅描述数据库实例。
注意事项
不支持从 BYOM 转换为含许可证。
如果您的含许可证(LI)实例有只读副本,请在将许可模式转换为 BYOM 之前删除这些副本,然后再重新创建。新副本将自动继承 BYOM 许可模式。
如果您的 LI 数据库实例运行在不支持 BYOM 的实例类(例如 db.m5 或 db.r6i)上,则无法直接转换为 BYOM。首先,将您的实例修改为支持的实例类(第 7 代或更高版本),然后通过单独的修改操作转换许可模式。