本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
RDS SQL Server各个版本提供的能力有所不同,为获得更好地优化以及更多地扩展能力,您可以根据实际需求将实例升级到更高的版本和系列。例如将实例大版本从SQL Server 2019 标准版升级至2022 标准版,将实例系列从基础系列升级至高可用系列。
背景信息
基础系列实例没有备节点作为热备份,因此当实例意外宕机或者执行变更配置、版本升级等任务时,会出现较长时间的不可用。
高可用系列实例有一个备实例,主备实例的数据会同步,当主实例出现故障无法访问时,会自动切换到备用实例。而且高可用系列实例提供完整的产品功能,包括弹性伸缩、备份恢复、性能优化、读写分离等。
集群系列实例基于SQL Server源生AlwaysOn技术,实现计算与存储分离,并且支持创建一个或多个只读实例实现读写分离,通过只读实例可解决大量的数据库读取需求。
不同版本的功能差异,请参见各版本的功能差异。
注意事项
大版本、系列及规格升级后无法回退。升级规则如下:
警告由于升级后无法回退,建议您升级前先创建按量付费或Serverless的目标实例测试兼容性。详见快速创建RDS SQL Server实例。
对于已经开启数据归档功能的基础系列通用云盘实例,暂不支持将其升级到其他不同系列的实例。更多详情,请参见数据归档OSS。
在数据库版本升级期间,请勿对数据库执行任何元数据修改操作,执行这些操作可能会导致升级后的数据不一致。元数据修改操作包括但不限于添加数据库、删除数据库、修改数据库的恢复模式等。
限制条件
符合以下情况的实例暂不支持升级数据库版本:
加入AD域的实例。
BYOL实例。
Serverless实例。
经典网络类型的实例。
只读实例以及挂载了只读实例的集群版主实例。
Web版独享入门规格实例。
开启了简单恢复模式的实例。
升级影响
升级操作一旦开始,不能取消,且升级完成后无法回退。
升级前后实例名称、访问端口、标签、数据库账号等原有设置均不发生变化。
升级所需时间取决于实例的数据量等,详情请参见本文常见问题。
实例升级过程中涉及网络切换等,通常会有20分钟内的不可服务时间。详情请参见本文常见问题,请确保应用程序具备自动重连机制。
升级会造成虚拟IP(VIP)的变更,请尽量在您的应用程序中使用连接地址进行连接,不要使用IP地址。
请及时清理客户端DNS缓存。客户端采用JVM的应用,建议将JVM配置中的TTL设置为不超过60秒,可确保在连接地址的VIP地址发生变更时,应用程序可以通过重新查询DNS来接收和使用资源的新VIP地址。
说明下列JVM中设置TTL的方法可供参考:
为所有使用JVM的应用程序设置TTL:将$JAVA_HOME/jre/lib/security/java.security文件中的networkaddress.cache.ttl参数值设置为60。
仅为本地应用程序设置TTL:在首次调用
InetAddress.getByName()
前,即建立任何网络连接之前,在应用程序的初始化代码中设置networkaddress.cache.ttl java.security.Security.setProperty("networkaddress.cache.ttl" , "60");
。
如果有正在执行的DTS任务,升级后,需要重新配置并启动相应的DTS任务。
费用说明
升级版本的费用,请参见变更配置。
操作步骤
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在基本信息页面的配置信息区域,单击升级版本,在弹出的对话框中单击确认。
说明如果未找到该入口,请确认实例是否符合升级的要求。更多详情,请参见限制条件。
在升级引擎版本页面修改配置,重点配置项说明如下,其他配置项说明请参见操作步骤。
说明部分实例升级时,在版本和系列选择上可能存在限制。具体详情,请参见本文注意事项和限制条件。
参数名称
说明
升级到版本
选择不同的目标版本,对应的产品系列、实例规格选项也会变化,具体请参见升级规则。
产品系列
选择目标系列。
基础系列:单节点,计算与存储分离。
高可用系列:一主一备的经典高可用架构,各方面表现均衡。
集群系列:一主多备的高可用架构,备实例可访问。
说明关于RDS实例的系列详情,请参见产品系列概述。
实例规格
每种规格都有对应的CPU核数、内存、最大连接数和最大IOPS。详情请参见主实例规格列表。
切换时间
数据迁移结束后立即切换:立刻进行迁移并切换。
可维护时间内进行切换:立刻进行迁移并在可维护时间段内进行切换。
勾选服务条款,单击去支付。
在弹出的对话框中,单击确认。
此时原实例运行状态变更为
,当实例的运行状态变更为运行中即代表升级完成。具体时间取决于数据量,请耐心等待。
常见问题
相关API
您也可以通过API升级数据库大版本,请参见ModifyDBInstanceSpec - 变更RDS实例。