The features that are provided by different SQL Server versions for each RDS edition are different. You can upgrade the major engine version and RDS edition of your ApsaraDB RDS for SQL Server instance based on your business requirements to obtain more optimized and extended features. For example, you can upgrade the major engine version of an RDS instance from SQL Server 2019 SE to SQL Server 2022 SE and upgrade the RDS edition from RDS Basic Edition to RDS High-availability Edition.
Background information
In RDS Basic Edition, your RDS instance does not have a secondary RDS instance as a hot standby. If your RDS instance unexpectedly exists or you perform operations such as changing the specifications or upgrading the major engine version of your RDS instance, your database service becomes unavailable for a long period of time.
In RDS High-availability Edition, your RDS instance has a secondary RDS instance as a hot standby. Data is synchronized in real time between the primary RDS instance and its secondary RDS instance. If the primary RDS instance fails, your workloads are automatically switched over to the secondary RDS instance. RDS High-availability Edition provides a complete suite of features, such as auto scaling, backup and restoration, performance optimization, and read/write splitting.
RDS Cluster Edition uses the Always On architecture of native SQL Server and supports compute-storage separation. RDS Cluster Edition allows you to create one or more read-only RDS instances to implement read/write splitting. Read-only RDS instances are used to process a large number of read requests.
For more information about the features that are provided by different SQL Server versions on each RDS edition, see Features of ApsaraDB RDS instances that run different SQL Server versions and RDS editions.
Usage notes
After the upgrade, you cannot roll back the major engine version, RDS edition, or instance type of your RDS instance to the original configuration. The following table describes the upgrade rules.
WarningBefore you perform the upgrade, we recommend that you purchase a pay-as-you-go or serverless RDS instance that has the required specifications. This way, you can use the new RDS instance to test the compatibility with your workloads. For more information, see Create an ApsaraDB RDS for SQL Server instance.
During the major engine version upgrade, we recommend that you do not modify metadata of your RDS instance. Otherwise, data inconsistency issues may occur after the upgrade. For example, we recommend that you do not create databases, delete databases, or modify the recovery models of databases.
Limits
You cannot upgrade the major engine versions of the following RDS instances:
RDS instances that are added to Active Directory (AD) domains. For more information, see Connect an ApsaraDB RDS for SQL Server instance to a self-managed domain.
RDS instances that use Bring Your Own License (BYOL).
Serverless RDS instances. For more information, see Overview.
RDS instances of the classic network type. For more information, see Change the network type.
Read-only RDS instances and primary RDS instances that have read-only RDS instances and run RDS Cluster Edition. For more information, see Create a read-only ApsaraDB RDS for SQL Server instance.
Impacts
If you start an upgrade task on your RDS instance, you cannot cancel the upgrade task. After the upgrade is complete, your RDS instance cannot be rolled back to the earlier major engine version.
The settings of your RDS instance, such as the instance name, port, tags, and database accounts, remain unchanged after the upgrade.
The period of time that is required to complete the upgrade varies based on the data volume of your RDS instance. For more information, see FAQ.
In most cases, the upgrade requires workload switchover, which may cause your RDS instance to be unavailable for approximately 20 minutes. Make sure that your application is configured to automatically reconnect to your RDS instance. For more information, see FAQ.
The upgrade changes the virtual IP address (VIP) of your RDS instance. We recommend that you use the endpoint of the RDS instance instead of the IP address to connect your application to the instance.
After the upgrade, we recommend that you immediately delete the cached DNS records from the database client. If the database client runs on a Java virtual machine (JVM), we recommend that you set the time-to-live (TTL) in the JVM configuration to 60 seconds or less. This way, if the VIP that is bound to the in-use endpoint of your RDS instance changes, your application can query the related DNS records to obtain the new VIP. Then, your application can connect to the new VIP.
NoteThe following TTL-setting methods are provided for reference:
For all JVM-based applications, set the networkaddress.cache.ttl parameter in the $JAVA_HOME/jre/lib/security/java.security file to 60.
For local applications, configure the
networkaddress.cache.ttl java.security.Security.setProperty("networkaddress.cache.ttl" , "60");
setting in the initialization code of local applications. The configuration must be completed before you call theInetAddress.getByName()
function for the first time to establish a network connection.
If your RDS instance has an ongoing Data Transmission Service (DTS) task, you must re-configure and start the DTS task after the upgrade is complete. For more information, see What is DTS?
Billing rules
For more information about the fees for the upgrade, see Specification changes.
Procedure
Go to the Instances page. In the top navigation bar, select the region in which the RDS instance resides. Then, find the RDS instance and click the ID of the instance.
In the Configuration Information section of the Basic Information page, click Upgrade Version. In the dialog box that appears, click OK.
NoteIf Upgrade Version is not displayed, you must check whether the RDS instance meets the requirements. For more information, see Limits.
On the Upgrade Engine Version page, configure the following parameters. For more information about other parameter settings, see Procedure.
NoteWhen you upgrade the major engine versions of some RDS instances, some major engine versions and RDS editions may be unavailable. For more information, see the "Usage notes" and "Limits" sections in this topic.
Parameter
Description
Upgrade To
Select the major engine version to which you want to upgrade. The options for the Edition and Instance Type parameters vary based on the value of this parameter. For more information, see Upgrade rules.
Edition
Select the RDS edition to which you want to upgrade.
Basic Edition: The database system consists of only a primary RDS instance. Computing is decoupled from storage.
High-availability Edition: The database system consists of a primary RDS instance and a secondary RDS instance. These instances work in high availability mode to achieve balanced performance in all aspects.
Cluster Edition: The database system consists of a primary RDS instance and multiple secondary RDS instances. These instances work in high availability mode. The secondary RDS instances are accessible.
NoteFor more information about RDS editions, see Overview.
Instance Type
Each instance type supports a specified number of cores, memory capacity, maximum number of connections, and maximum IOPS. For more information, see Primary ApsaraDB RDS instance types.
Switching Time
Switch Immediately After Data Migration: After the migration is complete, workloads are immediately switched over.
Switch Within Maintenance Window: After the migration is complete, workloads are switched over during the specified maintenance window.
Read and select Terms of Service and click Pay Now.
In the message that appears, click Agree and Place Order.
The status of the original RDS instance changes to
. If the status of the original RDS instance changes to Running, the upgrade is complete. The time that is required to complete the upgrade varies based on the amount of data.
FAQ
Reference
You can also upgrade the major engine version by using API. For more information, see ModifyDBInstanceSpec.