Amazon RDS for Microsoft SQL Server
Amazon RDS supports several versions and editions of Microsoft SQL Server. The following table shows the most recent supported minor version of each major version. For the full list of supported versions, editions, and RDS engine versions, see Microsoft SQL Server versions on Amazon RDS .
Major version | Service Pack / GDR | Cumulative Update | Minor version | Knowledge Base Article | Release Date | August 12, 2024 |
---|
For information about licensing for SQL Server, see
Licensing Microsoft SQL Server on Amazon RDS
. For information about SQL Server
builds, see this Microsoft support article about
Where to find information about the latest SQL Server builds
With Amazon RDS, you can create DB instances and DB snapshots, point-in-time restores, and automated or manual backups. DB instances running SQL Server can be used inside a VPC. You can also use Secure Sockets Layer (SSL) to connect to a DB instance running SQL Server, and you can use transparent data encryption (TDE) to encrypt data at rest. Amazon RDS currently supports Multi-AZ deployments for SQL Server using SQL Server Database Mirroring (DBM) or Always On Availability Groups (AGs) as a high-availability, failover solution.
To deliver a managed service experience, Amazon RDS does not provide shell access to DB instances, and it restricts access to certain system procedures and tables that require advanced privileges. Amazon RDS supports access to databases on a DB instance using any standard SQL client application such as Microsoft SQL Server Management Studio. Amazon RDS does not allow direct host access to a DB instance via Telnet, Secure Shell (SSH), or Windows Remote Desktop Connection. When you create a DB instance, the master user is assigned to the db_owner role for all user databases on that instance, and has all database-level permissions except for those that are used for backups. Amazon RDS manages backups for you.
Before creating your first DB instance, you should complete the steps in the setting up section of this guide. For more information, see Setting up your Amazon RDS environment .
Topics
- Common management tasks for Microsoft SQL Server on Amazon RDS
- Limitations for Microsoft SQL Server DB instances
- DB instance class support for Microsoft SQL Server
- Microsoft SQL Server security
- Compliance program support for Microsoft SQL Server DB instances
- SSL support for Microsoft SQL Server DB instances
- Microsoft SQL Server versions on Amazon RDS
- Version management in Amazon RDS
- Microsoft SQL Server features on Amazon RDS
- Change data capture support for Microsoft SQL Server DB instances
- Features not supported and features with limited support
- Multi-AZ deployments using Microsoft SQL Server Database Mirroring or Always On availability groups
- Using Transparent Data Encryption to encrypt data at rest
- Functions and stored procedures for Amazon RDS for Microsoft SQL Server
- Local time zone for Microsoft SQL Server DB instances
- Licensing Microsoft SQL Server on Amazon RDS
- Connecting to a DB instance running the Microsoft SQL Server database engine
- Working with Active Directory with RDS for SQL Server
- Updating applications to connect to Microsoft SQL Server DB instances using new SSL/TLS certificates
- Upgrading the Microsoft SQL Server DB engine
- Importing and exporting SQL Server databases using native backup and restore
- Working with read replicas for Microsoft SQL Server in Amazon RDS
- Multi-AZ deployments for Amazon RDS for Microsoft SQL Server
- Additional features for Microsoft SQL Server on Amazon RDS
- Options for the Microsoft SQL Server database engine
- Common DBA tasks for Microsoft SQL Server
Common management tasks for Microsoft SQL Server on Amazon RDS
The following are the common management tasks you perform with an Amazon RDS for SQL Server DB instance, with links to relevant documentation for each task.
Task area Description Relevant documentationIf you are creating a DB instance for production purposes, you should understand how instance classes, storage types, and Provisioned IOPS work in Amazon RDS.
DB instance class support for Microsoft SQL Server
A production DB instance should use Multi-AZ deployments. Multi-AZ deployments provide increased availability, data durability, and fault tolerance for DB instances. Multi-AZ deployments for SQL Server are implemented using SQL Server's native DBM or AGs technology.
Configuring and managing a Multi-AZ deployment
Multi-AZ deployments using Microsoft SQL Server Database Mirroring or Always On availability groups
If your AWS account has a default VPC, then your DB instance is automatically created inside the default VPC. If your account does not have a default VPC, and you want the DB instance in a VPC, you must create the VPC and subnet groups before you create the DB instance.
Working with a DB instance in a VPC
By default, DB instances are created with a firewall that prevents access to them. You therefore must create a security group with the correct IP addresses and network configuration to access the DB instance.
Controlling access with security groups
If your DB instance is going to require specific database parameters, you should create a parameter group before you create the DB instance.
Parameter groups for Amazon RDS
After creating a security group and associating it to a DB instance, you can connect to the DB instance using any standard SQL client application such as Microsoft SQL Server Management Studio.
Connecting to a DB instance running the Microsoft SQL Server database engine
When you create your DB instance, you can configure it to take automated backups. You can also back up and restore your databases manually by using full backup files (.bak files).
Importing and exporting SQL Server databases using native backup and restore
You can monitor your SQL Server DB instance by using CloudWatch Amazon RDS metrics, events, and enhanced monitoring.
Viewing metrics in the Amazon RDS console
Common DBA tasks for Microsoft SQL Server .
Working with AWS Managed Active Directory with RDS for SQL Server
Limitations for Microsoft SQL Server DB instances
The Amazon RDS implementation of Microsoft SQL Server on a DB instance has some limitations that you should be aware of:
The maximum number of databases supported on a DB instance depends on the instance class type and the availability mode—Single-AZ, Multi-AZ Database Mirroring (DBM), or Multi-AZ Availability Groups (AGs). The Microsoft SQL Server system databases don't count toward this limit.
The following table shows the maximum number of supported databases for each instance class type and availability mode. Use this table to help you decide if you can move from one instance class type to another, or from one availability mode to another. If your source DB instance has more databases than the target instance class type or availability mode can support, modifying the DB instance fails. You can see the status of your request in the Events pane.
Instance class type Single-AZ Multi-AZ with DBM Multi-AZ with Always On AGs db.*.micro to db.*.medium db.*.large db.*.xlarge to db.*.16xlarge db.*.24xlarge* Represents the different instance class types.
For example, let's say that your DB instance runs on a db.*.16xlarge with Single-AZ and that it has 76 databases. You modify the DB instance to upgrade to using Multi-AZ Always On AGs. This upgrade fails, because your DB instance contains more databases than your target configuration can support. If you upgrade your instance class type to db.*.24xlarge instead, the modification succeeds.
If the upgrade fails, you see events and messages similar to the following:
Unable to modify database instance class. The instance has 76
databases, but after conversion it would only support
Unable to convert the DB instance to Multi-AZ: The instance
has 76 databases, but after conversion it would only support
If the point-in-time restore or snapshot restore fails, you see events and messages
similar to the following:
Database instance put into incompatible-restore. The instance
has 76 databases, but after conversion it would only support
The following ports are reserved for Amazon RDS, and you can't use them when you create a DB
instance:
1234, 1434, 3260, 3343, 3389, 47001,
and
49152-49156
.
Client connections from IP addresses within the range 169.254.0.0/16 are not permitted.
This is the Automatic Private IP Addressing Range (APIPA), which is used for
local-link addressing.
SQL Server Standard Edition uses only a subset of the available processors if the DB instance has more processors than the
software limits (24 cores, 4 sockets, and 128GB RAM). Examples of this are the db.m5.24xlarge and db.r5.24xlarge
instance classes.
For more information, see the table of scale limits under
Editions and supported features
of SQL Server 2019 (15.x)
in the Microsoft documentation.
Amazon RDS for SQL Server doesn't support importing data into the msdb database.
You can't rename databases on a DB instance in a SQL Server Multi-AZ deployment.
Make sure that you use these guidelines when setting the following DB parameters on RDS for SQL Server:
General Purpose (SSD) storage – 16 TiB for all editions
Provisioned IOPS storage – 16 TiB for all editions
Magnetic storage – 1 TiB for all editions
If you have a scenario that requires a larger amount of storage, you can use
sharding across multiple DB instances to get around the limit. This approach
requires data-dependent routing logic in applications that connect to the
sharded system. You can use an existing sharding framework, or you can write
custom code to enable sharding. If you use an existing framework, the framework
can't install any components on the same server as the DB instance.
The minimum storage size for SQL Server DB instances is the following:
General Purpose (SSD) storage – 20 GiB for Enterprise, Standard, Web, and Express Editions
Provisioned IOPS storage – 20 GiB for Enterprise, Standard, Web, and Express Editions
Magnetic storage – 20 GiB for Enterprise, Standard, Web, and Express Editions
Amazon RDS doesn't support running these services on the same server as your RDS DB instance:
-
Data Quality Services
-
Master Data Services
To use these features, we recommend that you install SQL Server on an Amazon EC2 instance, or
use an on-premises SQL Server instance. In these cases, the EC2 or SQL Server
instance acts as the Master Data Services server for your SQL Server DB instance
on Amazon RDS. You can install SQL Server on an Amazon EC2 instance with Amazon EBS storage,
pursuant to Microsoft licensing policies.
Because of limitations in Microsoft SQL Server, restoring to a point in time before
successfully running
DROP DATABASE
might not reflect the state of
that database at that point in time. For example, the dropped database is
typically restored to its state up to 5 minutes before the
DROP
DATABASE
command was issued. This type of restore means that you
can't restore the transactions made during those few minutes on your dropped
database. To work around this, you can reissue the
DROP DATABASE
command after the restore operation is completed. Dropping a database removes
the transaction logs for that database.
For SQL Server, you create your databases after you create your DB instance. Database names follow the usual SQL Server naming rules
with the following differences:
They can't start or end with a space or a tab.
They can't contain any of the characters that create a new line.
They can't contain a single quote (
'
).
RDS for SQL Server currently does not support automatic minor version updates. For more information, see
Version management in Amazon RDS
.
SQL Server Web Edition only allows you to use the
Dev/Test
template when
creating a new RDS for SQL Server DB instance.
DB instance class support for Microsoft SQL Server
The computation and memory capacity of a DB instance is determined by its DB instance
class. The DB instance class you need depends on your processing power and memory
requirements. For more information, see
DB instance classes
.
The following list of DB instance classes supported for Microsoft SQL Server is provided here for your convenience. For the most
current list, see the RDS console:
https://console.aws.amazon.com/rds/
.
Not all DB instance classes are available on all supported SQL Server minor versions. For example, some newer DB instance
classes such as db.r6i aren't available on older minor versions. You can use the
describe-orderable-db-instance-options
AWS CLI command to find out which DB instance classes are available for your
SQL Server edition and version.
db.r5b.large
–
db.r5b.24xlarge
db.r5d.large
–
db.r5d.24xlarge
db.r6i.large
–
db.r6i.32xlarge
db.m5.large
–
db.m5.24xlarge
db.m5d.large
–
db.m5d.24xlarge
db.m6i.large
–
db.m6i.32xlarge
db.x2iedn.xlarge
–
db.x2iedn.32xlarge
db.z1d.large
–
db.z1d.12xlarge
db.t3.xlarge
–
db.t3.2xlarge
db.r5.xlarge
–
db.r5.24xlarge
db.r5b.xlarge
–
db.r5b.24xlarge
db.r5d.xlarge
–
db.r5d.24xlarge
db.r6i.xlarge
–
db.r6i.32xlarge
db.m5.xlarge
–
db.m5.24xlarge
db.m5d.xlarge
–
db.m5d.24xlarge
db.m6i.xlarge
–
db.m6i.32xlarge
db.x1.16xlarge
–
db.x1.32xlarge
db.x1e.xlarge
–
db.x1e.32xlarge
db.x2iedn.xlarge
–
db.x2iedn.32xlarge
db.z1d.xlarge
–
db.z1d.12xlarge
db.t3.xlarge
–
db.t3.2xlarge
db.r5.xlarge
–
db.r5.24xlarge
db.r5b.xlarge
–
db.r5b.24xlarge
db.r5d.xlarge
–
db.r5d.24xlarge
db.r6i.xlarge
–
db.r6i.32xlarge
db.m5.xlarge
–
db.m5.24xlarge
db.m5d.xlarge
–
db.m5d.24xlarge
db.m6i.xlarge
–
db.m6i.32xlarge
db.x1.16xlarge
–
db.x1.32xlarge
db.x1e.xlarge
–
db.x1e.32xlarge
db.x2iedn.xlarge
–
db.x2iedn.32xlarge
db.z1d.xlarge
–
db.z1d.12xlarge
db.m5d.large
–
db.m5d.24xlarge
db.m6i.large
–
db.m6i.8xlarge
db.x2iedn.xlarge
–
db.x2iedn.8xlarge
db.z1d.large
–
db.z1d.12xlarge
db.t3.xlarge
–
db.t3.2xlarge
db.r5.large
–
db.r5.24xlarge
db.r5b.large
–
db.r5b.24xlarge
db.r5d.large
–
db.r5d.24xlarge
db.r6i.large
–
db.r6i.8xlarge
db.m5.large
–
db.m5.24xlarge
db.m5d.large
–
db.m5d.24xlarge
db.m6i.large
–
db.m6i.8xlarge
db.x1.16xlarge
–
db.x1.32xlarge
db.x1e.xlarge
–
db.x1e.32xlarge
db.x2iedn.xlarge
–
db.x2iedn.32xlarge
db.z1d.large
–
db.z1d.12xlarge
db.t3.xlarge
–
db.t3.2xlarge
db.r5.large
–
db.r5.24xlarge
db.r5b.large
–
db.r5b.24xlarge
db.r5d.large
–
db.r5d.24xlarge
db.r6i.large
–
db.r6i.8xlarge
db.m5.large
–
db.m5.24xlarge
db.m5d.large
–
db.m5d.24xlarge
db.m6i.large
–
db.m6i.8xlarge
db.x1.16xlarge
–
db.x1.32xlarge
db.x1e.xlarge
–
db.x1e.32xlarge
db.x2iedn.xlarge
–
db.x2iedn.32xlarge
db.z1d.large
–
db.z1d.12xlarge
Web Edition
db.t3.small
–
db.t3.xlarge
db.r5.large
–
db.r5.4xlarge
db.r5b.large
–
db.r5b.4xlarge
db.r5d.large
–
db.r5d.4xlarge
db.r6i.large
–
db.r6i.4xlarge
db.m5.large
–
db.m5.4xlarge
db.m5d.large
–
db.m5d.4xlarge
db.m6i.large
–
db.m6i.4xlarge
db.z1d.large
–
db.z1d.13xlarge
db.t3.small
–
db.t3.2xlarge
db.r5.large
–
db.r5.4xlarge
db.r5b.large
–
db.r5b.4xlarge
db.r5d.large
–
db.r5d.4xlarge
db.r6i.large
–
db.r6i.4xlarge
db.m5.large
–
db.m5.4xlarge
db.m5d.large
–
db.m5d.4xlarge
db.m6i.large
–
db.m6i.4xlarge
db.z1d.large
–
db.z1d.3xlarge
db.t3.small
–
db.t3.2xlarge
db.r5.large
–
db.r5.4xlarge
db.r5b.large
–
db.r5b.4xlarge
db.r5d.large
–
db.r5d.4xlarge
db.r6i.large
–
db.r6i.4xlarge
db.m5.large
–
db.m5.4xlarge
db.m5d.large
–
db.m5d.4xlarge
db.m6i.large
–
db.m6i.4xlarge
db.z1d.large
–
db.z1d.3xlarge
Microsoft SQL Server security
The Microsoft SQL Server database engine uses role-based security. The master user name that you specify when you create a DB
instance is a SQL Server Authentication login that is a member of the
processadmin
,
public
, and
setupadmin
fixed server roles.
Any user who creates a database is assigned to the db_owner role for that database and has all database-level permissions except for
those that are used for backups. Amazon RDS manages backups for you.
The following server-level roles aren't available in Amazon RDS for SQL Server:
ALTER RESOURCES
ALTER SETTINGS (you can use the DB parameter group API operations to modify parameters;
for more information, see
Parameter groups for Amazon RDS
)
AUTHENTICATE SERVER
CONTROL_SERVER
CREATE DDL EVENT NOTIFICATION
CREATE ENDPOINT
CREATE SERVER ROLE
CREATE TRACE EVENT NOTIFICATION
DROP ANY DATABASE
EXTERNAL ACCESS ASSEMBLY
SHUTDOWN (You can use the RDS reboot option instead)
UNSAFE ASSEMBLY
ALTER ANY AVAILABILITY GROUP
CREATE ANY AVAILABILITY GROUP
Compliance program support for Microsoft SQL Server DB instances
AWS Services in scope have been fully assessed by a third-party auditor and result in a certification, attestation of compliance, or
Authority to Operate (ATO). For more information, see
AWS services in scope by compliance program
.
HIPAA support for Microsoft SQL Server DB instances
You can use Amazon RDS for Microsoft SQL Server databases to build HIPAA-compliant applications.
You can store healthcare-related information, including protected health information
(PHI), under a Business Associate Agreement (BAA) with AWS. For more information,
see
HIPAA compliance
.
Amazon RDS for SQL Server supports HIPAA for the following versions and editions:
SQL Server 2022 Enterprise, Standard, and Web Editions
SQL Server 2019 Enterprise, Standard, and Web Editions
SQL Server 2017 Enterprise, Standard, and Web Editions
SQL Server 2016 Enterprise, Standard, and Web Editions
To enable HIPAA support on your DB instance, set up the following three components.
Component
Details
To set up auditing, set the parameter
rds.sqlserver_audit
to the value
fedramp_hipaa
. If your DB
instance is not already using a custom DB parameter group, you must create a custom parameter group and
attach it to your DB instance before you can modify the
rds.sqlserver_audit
parameter. For
more information, see
Parameter groups for Amazon RDS
.
To set up transport encryption, force all connections to your DB instance to use Secure Sockets Layer (SSL). For more
information, see
Forcing connections to your DB
instance to use SSL
.
If you're running SQL Server 2016–2022 Enterprise Edition or 2022
Standard Edition, you can use Transparent Data
Encryption (TDE) to achieve encryption at rest. For more
information, see
Support for Transparent Data Encryption in SQL Server
.
You can set up encryption at rest by using AWS Key Management Service (AWS KMS) encryption keys. For more information, see
Encrypting Amazon RDS
resources
.
SSL support for Microsoft SQL Server DB instances
You can use SSL to encrypt connections between your applications and your Amazon RDS DB
instances running Microsoft SQL Server. You can also force all connections to your DB
instance to use SSL. If you force connections to use SSL, it happens transparently to
the client, and the client doesn't have to do any work to use SSL.
SSL is supported in all AWS Regions and for all supported SQL Server editions. For
more information, see
Using SSL with a Microsoft SQL Server DB instance
.
Microsoft SQL Server versions on Amazon RDS
You can specify any currently supported Microsoft SQL Server version when creating a new DB
instance. You can specify the Microsoft SQL Server major version (such as Microsoft SQL
Server 14.00), and any supported minor version for the specified major version. If no
version is specified, Amazon RDS defaults to a supported version, typically the most recent
version. If a major version is specified but a minor version is not, Amazon RDS defaults to a
recent release of the major version you have specified.
The following table shows the supported versions for all editions and all AWS Regions,
except where noted. You can also use the
describe-db-engine-versions
AWS CLI command to see a list of
supported versions, as well as defaults for newly created DB instances. The following
table shows the SQL Server versions supported in RDS:
Major version
Minor version
RDS API
EngineVersion
and CLI
engine-version
SQL Server 2022
16.00.4135.4 (CU14)
16.00.4131.2 (CU13)
16.00.4125.3 (CU13)
16.00.4120.1 (CU12 GDR)
16.00.4115.5 (CU12)
16.00.4105.2 (CU11)
16.00.4095.4 (CU10)
16.00.4085.2 (CU9)
16.00.4135.4.v1
16.00.4131.2.v1
16.00.4125.3.v1
16.00.4120.1.v1
16.00.4115.5.v1
16.00.4105.2.v1
16.00.4095.4.v1
16.00.4085.2.v1
SQL Server 2019
15.00.4385.2 (CU28)
15.00.4382.1 (CU27)
15.00.4375.4 (CU27)
15.00.4365.2 (CU26)
15.00.4355.3 (CU25)
15.00.4345.5 (CU24)
15.00.4335.1 (CU23)
15.00.4322.2 (CU22)
15.00.4316.3 (CU21)
15.00.4312.2 (CU20)
15.00.4236.7 (CU16)
15.00.4198.2 (CU15)
15.00.4153.1 (CU12)
15.00.4073.23 (CU8)
15.00.4043.16 (CU5)
15.00.4385.2.v1
15.00.4382.1.v1
15.00.4375.4.v1
15.00.4365.2.v1
15.00.4355.3.v1
15.00.4345.5.v1
15.00.4335.1.v1
15.00.4322.2.v1
15.00.4316.3.v1
15.00.4312.2.v1
15.00.4236.7.v1
15.00.4198.2.v1
15.00.4153.1.v1
15.00.4073.23.v1
15.00.4043.16.v1
SQL Server 2017
14.00.3471.2 (CU31)
14.00.3465.1 (CU31)
14.00.3460.9 (CU31)
14.00.3451.2 (CU30)
14.00.3421.10 (CU27)
14.00.3401.7 (CU25)
14.00.3381.3 (CU23)
14.00.3356.20 (CU22)
14.00.3294.2 (CU20)
14.00.3281.6 (CU19)
14.00.3471.2.v1
14.00.3465.1.v1
14.00.3460.9.v1
14.00.3451.2.v1
14.00.3421.10.v1
14.00.3401.7.v1
14.00.3381.3.v1
14.00.3356.20.v1
14.00.3294.2.v1
14.00.3281.6.v1
SQL Server 2016
13.00.6441.1 (GDR)
13.00.6435.1 (GDR)
13.00.6430.49 (GDR)
13.00.6419.1 (SP3 + Hotfix)
13.00.6300.2 (SP3)
13.00.6441.1.v1
13.00.6435.1.v1
13.00.6430.49.v1
13.00.6419.1.v1
13.00.6300.2.v1
Version management in Amazon RDS
Amazon RDS includes flexible version management that enables you to control when and how
your DB instance is patched or upgraded. This enables you to do the following for your
DB engine:
Maintain compatibility with database engine patch versions.
Test new patch versions to verify that they work with your application before
you deploy them in production.
Plan and perform version upgrades to meet your service level agreements and
timing requirements.
Microsoft SQL Server engine patching in Amazon RDS
Amazon RDS periodically aggregates official Microsoft SQL Server database patches into
a DB instance engine version that's specific to Amazon RDS. For more information about
the Microsoft SQL Server patches in each engine version, see
Version and feature support on Amazon RDS
.
Currently, you manually perform all engine upgrades on your DB instance. For more
information, see
Upgrading the Microsoft SQL Server DB engine
.
Deprecation schedule for major engine versions of Microsoft SQL Server on Amazon RDS
The following table displays the planned schedule of deprecations for major engine versions of Microsoft SQL Server.
Information
July 9, 2024
Microsoft will stop critical patch updates for SQL Server 2014. For more information, see
Microsoft SQL
Server 2014
in the Microsoft documentation.
June 1, 2024
Amazon RDS plans to end support of Microsoft SQL Server 2014 on RDS for SQL Server. At that time, any remaining
instances will be scheduled to migrate to SQL Server 2016 (latest minor version available). For more
information, see
Announcement:
Amazon RDS for SQL Server ending support for SQL Server 2014 major versions
.
To avoid an automatic upgrade from Microsoft SQL Server 2014, you can upgrade at a time that is
convenient to you. For more information, see
Upgrading
a DB instance engine version
.
July 12, 2022
Microsoft will stop critical patch updates for SQL Server 2012. For more information, see
Microsoft SQL
Server 2012
in the Microsoft documentation.
June 1, 2022
Amazon RDS plans to end support of Microsoft SQL Server 2012 on RDS for SQL Server. At that time, any remaining
instances will be scheduled to migrate to SQL Server 2014 (latest minor version available). For more
information, see
Announcement:
Amazon RDS for SQL Server ending support for SQL Server 2012 major versions
.
To avoid an automatic upgrade from Microsoft SQL Server 2012, you can upgrade at a time that is
convenient to you. For more information, see
Upgrading
a DB instance engine version
.
September 1, 2021
Amazon RDS is starting to disable the creation of new RDS for SQL Server DB instances using Microsoft SQL Server 2012.
For more information, see
Announcement:
Amazon RDS for SQL Server ending support for SQL Server 2012 major versions
.
July 12, 2019
The Amazon RDS team deprecated support for Microsoft SQL Server 2008 R2 in June 2019. Remaining instances
of Microsoft SQL Server 2008 R2 are migrating to SQL Server 2012 (latest minor version available).
To avoid an automatic upgrade from Microsoft SQL Server 2008 R2, you can upgrade at a time that is
convenient to you. For more information, see
Upgrading
a DB instance engine version
.
April 25, 2019
Before the end of April 2019, you will no longer be able to create new Amazon RDS for SQL Server database instances using Microsoft SQL
Server 2008R2.
Microsoft SQL Server features on Amazon RDS
The supported SQL Server versions on Amazon RDS include the following features. In general, a version also includes features from the
previous versions, unless otherwise noted in the Microsoft documentation.
Topics
-
Microsoft SQL Server 2022 features
-
Microsoft SQL Server 2019 features
-
Microsoft SQL Server 2017 features
-
Microsoft SQL Server 2016 features
-
Microsoft SQL Server 2014 end
of support on Amazon RDS
-
Microsoft SQL Server 2012 end
of support on Amazon RDS
-
Microsoft SQL Server 2008 R2 end
of support on Amazon RDS
Microsoft SQL Server 2022 features
SQL Server 2022 includes many new features, such as the following:
Parameter Sensitive Plan Optimization – allows multiple cached plans for a single parameterized statement,
potentially reducing issues with parameter sniffing.
SQL Server Ledger – provides the ability to cryptographically prove that your data hasn't been altered without authorization.
Instant file initialization for transaction log file growth events – results in faster execution of log growth events up to 64MB,
including for databases with TDE enabled.
System page latch concurrency enhancements – reduces page latch contention while allocating and deallocating data pages and extents,
providing significant performance enhancements to
tempdb
heavy workloads.
For the full list of SQL Server 2022 features, see
What's new in SQL Server 2022 (16.x)
in the Microsoft
documentation.
For a list of unsupported features, see
Features not supported and features with limited support
.
Microsoft SQL Server 2019 features
SQL Server 2019 includes many new features, such as the following:
Accelerated database recovery (ADR) – Reduces crash recovery time after a restart or a
long-running transaction rollback.
Intelligent Query Processing (IQP):
Row mode memory grant feedback – Corrects excessive grants automatically, that
would otherwise result in wasted memory and reduced
concurrency.
Batch mode on rowstore – Enables batch mode execution for analytic
workloads without requiring columnstore indexes.
Table variable deferred compilation – Improves plan quality and
overall performance for queries that reference table
variables.
Intelligent performance:
OPTIMIZE_FOR_SEQUENTIAL_KEY
index option – Improves throughput for
high-concurrency inserts into indexes.
Improved indirect checkpoint scalability – Helps databases with
heavy DML workloads.
Concurrent Page Free Space (PFS) updates – Enables handling as a shared latch
rather than an exclusive latch.
Monitoring improvements:
WAIT_ON_SYNC_STATISTICS_REFRESH
wait type – Shows accumulated
instance-level time spent on synchronous statistics refresh
operations.
Database-scoped configurations – Include
LIGHTWEIGHT_QUERY_PROFILING
and
LAST_QUERY_PLAN_STATS
.
Dynamic management functions (DMFs) – Include
sys.dm_exec_query_plan_stats
and
sys.dm_db_page_info
.
Verbose truncation warnings – The data truncation error message defaults to
include table and column names and the truncated value.
Resumable online index creation – In SQL Server 2017, only resumable online
index rebuild is supported.
For the full list of SQL Server 2019 features, see
What's new in SQL Server 2019 (15.x)
in the Microsoft
documentation.
For a list of unsupported features, see
Features not supported and features with limited support
.
Microsoft SQL Server 2017 features
SQL Server 2017 includes many new features, such as the following:
For the full list of SQL Server 2017 features, see
What's new in SQL Server 2017
in the Microsoft documentation.
For a list of unsupported features, see
Features not supported and features with limited support
.
Microsoft SQL Server 2016 features
Amazon RDS supports the following features of SQL Server 2016:
SQL Server 2014 has reached its end of support on Amazon RDS.
RDS is upgrading all existing DB instances that are still using SQL Server 2014 to
the latest minor version of SQL Server 2016. For more information, see
Version management in Amazon RDS
.
Microsoft SQL Server 2012 end
of support on Amazon RDS
SQL Server 2012 has reached its end of support on Amazon RDS.
RDS is upgrading all existing DB instances that are still using SQL Server 2012 to the
latest minor version of SQL Server 2016. For more information, see
Version management in Amazon RDS
.
Microsoft SQL Server 2008 R2 end
of support on Amazon RDS
SQL Server 2008 R2 has reached its end of support on Amazon RDS.
RDS is upgrading all existing DB instances that are still using SQL Server 2008 R2 to the
latest minor version of SQL Server 2012. For more information, see
Version management in Amazon RDS
.
Change data capture support for Microsoft SQL Server DB instances
Amazon RDS supports change data capture (CDC) for your DB instances running Microsoft SQL
Server. CDC captures changes that are made to the data in your tables, and stores
metadata about each change that you can access later. For more information, see
Change data capture
in the Microsoft documentation.
Amazon RDS supports CDC for the following SQL Server editions and versions:
-
2022
-
2019
-
2017
-
2016 version 13.00.4422.0 SP1 CU2 and later
To use CDC with your Amazon RDS DB instances, first enable or disable CDC at the database
level by using RDS-provided stored procedures. After that, any user that has the
db_owner
role for that database can use the native Microsoft stored
procedures to control CDC on that database. For more information, see
Using change data capture
.
You can use CDC and AWS Database Migration Service to enable ongoing replication from SQL Server DB
instances.
Features not supported and features with limited support
The following Microsoft SQL Server features aren't supported on Amazon RDS:
-
Backing up to Microsoft Azure Blob Storage
-
Buffer pool extension
-
Custom password policies
-
Data Quality Services
-
Database Log Shipping
-
Database snapshots (Amazon RDS supports only DB instance snapshots)
-
Extended stored procedures, including xp_cmdshell
-
FILESTREAM support
-
File tables
-
Machine Learning and R Services (requires OS access to install it)
-
Maintenance plans
-
Performance Data Collector
-
Policy-Based Management
-
PolyBase
-
Replication
-
Resource Governor
-
Server-level triggers
-
Service Broker endpoints
-
Stretch database
-
TRUSTWORTHY database property (requires sysadmin role)
-
T-SQL endpoints (all operations using CREATE ENDPOINT are unavailable)
-
WCF Data Services
The following Microsoft SQL Server features have limited support on Amazon RDS:
Distributed queries/linked servers. For more information, see
Implement linked servers with
Amazon RDS for Microsoft SQL Server
.
Common Runtime Language (CLR). On RDS for SQL Server 2016 and lower versions, CLR is supported in
SAFE
mode and
using assembly bits only. CLR isn't supported on RDS for SQL Server 2017 and higher versions. For more information, see
Common Runtime Language Integration
in the Microsoft documentation.
Link servers with Oracle OLEDB in Amazon RDS for SQL Server. For more information,
see
Support for Linked
Servers with Oracle OLEDB in Amazon RDS for SQL Server
.
The following features aren't supported on Amazon RDS with SQL Server 2022:
-
Suspend database for snapshot
-
External Data Source
-
Backup and restore to S3 compatible object storage
-
Object store integration
-
TLS 1.3 and MS-TDS 8.0
-
Backup compression offloading with QAT
-
SQL Server Analysis Services (SSAS)
-
Database mirroring with Multi-AZ deployments. SQL Server Always On is the only supported method with Multi-AZ deployments.
Multi-AZ deployments using Microsoft SQL Server Database Mirroring or Always On availability groups
Amazon RDS supports Multi-AZ deployments for DB instances running Microsoft SQL Server by using
SQL Server Database Mirroring (DBM) or Always On Availability Groups (AGs).
Multi-AZ deployments provide increased availability, data
durability, and fault tolerance for DB instances. In the event of planned database
maintenance or unplanned service disruption, Amazon RDS automatically fails over to the
up-to-date secondary replica so database operations can resume quickly without manual
intervention. The primary and secondary instances use the same endpoint, whose physical
network address transitions to the passive secondary replica as part of the failover
process. You don't have to reconfigure your application when a failover occurs.
Amazon RDS manages failover by actively monitoring your Multi-AZ deployment and initiating a
failover when a problem with your primary occurs. Failover doesn't occur unless the
standby and primary are fully in sync. Amazon RDS actively maintains your Multi-AZ deployment
by automatically repairing unhealthy DB instances and re-establishing synchronous
replication. You don't have to manage anything. Amazon RDS handles the primary, the witness,
and the standby instance for you. When you set up SQL Server Multi-AZ, RDS configures
passive secondary instances for all of the databases on the instance.
For more information, see
Multi-AZ deployments for Amazon RDS for Microsoft SQL Server
.
Using Transparent Data Encryption to encrypt data at rest
Amazon RDS supports Microsoft SQL Server Transparent Data Encryption (TDE), which
transparently encrypts stored data. Amazon RDS uses option groups to enable and configure
these features. For more information about the TDE option, see
Support for Transparent Data Encryption in SQL Server
.
Functions and stored procedures for Amazon RDS
for Microsoft SQL Server
Following, you can find a list of the Amazon RDS functions and stored procedures that help
automate SQL Server tasks.
Task type
Procedure or function
Where it's used
Administrative tasks
rds_drop_database
Dropping a Microsoft SQL Server database
rds_failover_time
Determining the last failover time
rds_manage_view_db_permission
Deny or allow viewing database names
rds_modify_db_name
Renaming a Microsoft SQL Server database in a Multi-AZ deployment
rds_read_error_log
Viewing error and agent logs
rds_set_configuration
This operation is used to set various DB instance
configurations:
Change data capture for Multi-AZ instances
Setting the retention period for trace and dump files
rds_set_system_database_sync_objects
rds_fn_get_system_database_sync_objects
rds_fn_server_object_last_sync_time
Turning on SQL Server Agent job replication
rds_show_configuration
To see the values that are set using
rds_set_configuration
, see these topics:
This operation is also used with SQL Server Integration Services
(SSIS):
SSAS:
Monitoring the status of a deployment task
SSIS:
Monitoring the status of a deployment task
SSRS:
Monitoring the status of a task
Local time zone for Microsoft SQL Server DB instances
The time zone of an Amazon RDS DB instance running Microsoft SQL Server is set by default. The current default is Coordinated Universal
Time (UTC). You can set the time zone of your DB instance to a local time zone instead, to match the time zone of your
applications.
You set the time zone when you first create your DB instance. You can create your DB
instance by using the
AWS Management Console
, the
Amazon RDS API
CreateDBInstance
action, or the AWS CLI
create-db-instance
command.
If your DB instance is part of a Multi-AZ deployment (using SQL Server DBM or AGs),
then when you fail over, your time zone remains the local time zone that you set. For
more information, see
Multi-AZ deployments using Microsoft SQL Server Database Mirroring or Always On availability groups
.
When you request a point-in-time restore, you specify the time to restore to. The time is
shown in your local time zone. For more information, see
Restoring a DB instance to a specified time
.
The following are limitations to setting the local time zone on your DB
instance:
You can't modify the time zone of an existing SQL Server DB instance.
You can't restore a snapshot from a DB instance in one time zone to a DB
instance in a different time zone.
We strongly recommend that you don't restore a backup file from one time zone
to a different time zone. If you restore a backup file from one time zone to a
different time zone, you must audit your queries and applications for the
effects of the time zone change. For more information, see
Importing and exporting SQL Server databases using native
backup and restore
.
Aleutian Standard Time
(UTC–10:00)
Aleutian Islands
Altai Standard Time
(UTC+07:00)
Barnaul, Gorno-Altaysk
Arab Standard Time
(UTC+03:00)
Kuwait, Riyadh
This time zone doesn't observe daylight saving time.
Arabian Standard Time
(UTC+04:00)
Abu Dhabi, Muscat
Arabic Standard Time
(UTC+03:00)
Baghdad
This time zone doesn't observe daylight saving time.
Argentina Standard Time
(UTC–03:00)
City of Buenos Aires
This time zone doesn't observe daylight saving time.
Astrakhan Standard Time
(UTC+04:00)
Astrakhan, Ulyanovsk
Atlantic Standard Time
(UTC–04:00)
Atlantic Time (Canada)
AUS Central Standard Time
(UTC+09:30)
Darwin
This time zone doesn't observe daylight saving time.
Aus Central W. Standard Time
(UTC+08:45)
Eucla
AUS Eastern Standard Time
(UTC+10:00)
Canberra, Melbourne, Sydney
Azerbaijan Standard Time
(UTC+04:00)
Baku
Azores Standard Time
(UTC–01:00)
Azores
Bahia Standard Time
(UTC–03:00)
Salvador
Bangladesh Standard Time
(UTC+06:00)
Dhaka
This time zone doesn't observe daylight saving time.
Belarus Standard Time
(UTC+03:00)
Minsk
This time zone doesn't observe daylight saving time.
Bougainville Standard Time
(UTC+11:00)
Bougainville Island
Canada Central Standard Time
(UTC–06:00)
Saskatchewan
This time zone doesn't observe daylight saving time.
Cape Verde Standard Time
(UTC–01:00)
Cabo Verde Is.
This time zone doesn't observe daylight saving time.
Caucasus Standard Time
(UTC+04:00)
Yerevan
Cen. Australia Standard Time
(UTC+09:30)
Adelaide
Central America Standard Time
(UTC–06:00)
Central America
This time zone doesn't observe daylight saving time.
Central Asia Standard Time
(UTC+06:00)
Astana
This time zone doesn't observe daylight saving time.
Central Brazilian Standard Time
(UTC–04:00)
Cuiaba
Central Europe Standard Time
(UTC+01:00)
Belgrade, Bratislava, Budapest, Ljubljana, Prague
Central European Standard Time
(UTC+01:00)
Sarajevo, Skopje, Warsaw, Zagreb
Central Pacific Standard Time
(UTC+11:00)
Solomon Islands, New Caledonia
This time zone doesn't observe daylight saving time.
Central Standard Time
(UTC–06:00)
Central Time (US and Canada)
Central Standard Time (Mexico)
(UTC–06:00)
Guadalajara, Mexico City, Monterrey
Chatham Islands Standard Time
(UTC+12:45)
Chatham Islands
China Standard Time
(UTC+08:00)
Beijing, Chongqing, Hong Kong, Urumqi
This time zone doesn't observe daylight saving time.
Cuba Standard Time
(UTC–05:00)
Havana
Dateline Standard Time
(UTC–12:00)
International Date Line West
This time zone doesn't observe daylight saving time.
E. Africa Standard Time
(UTC+03:00)
Nairobi
This time zone doesn't observe daylight saving time.
E. Australia Standard Time
(UTC+10:00)
Brisbane
This time zone doesn't observe daylight saving time.
E. Europe Standard Time
(UTC+02:00)
Chisinau
E. South America Standard Time
(UTC–03:00)
Brasilia
Easter Island Standard Time
(UTC–06:00)
Easter Island
Eastern Standard Time
(UTC–05:00)
Eastern Time (US and Canada)
Eastern Standard Time (Mexico)
(UTC–05:00)
Chetumal
Egypt Standard Time
(UTC+02:00)
Cairo
Ekaterinburg Standard Time
(UTC+05:00)
Ekaterinburg
Fiji Standard Time
(UTC+12:00)
Fiji
FLE Standard Time
(UTC+02:00)
Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius
Georgian Standard Time
(UTC+04:00)
Tbilisi
This time zone doesn't observe daylight saving time.
GMT Standard Time
(UTC)
Dublin, Edinburgh, Lisbon, London
This time zone isn't the same as Greenwich Mean Time.
This time zone does observe daylight saving time.
Greenland Standard Time
(UTC–03:00)
Greenland
Greenwich Standard Time
(UTC)
Monrovia, Reykjavik
This time zone doesn't observe daylight saving time.
GTB Standard Time
(UTC+02:00)
Athens, Bucharest
Haiti Standard Time
(UTC–05:00)
Haiti
Hawaiian Standard Time
(UTC–10:00)
Hawaii
India Standard Time
(UTC+05:30)
Chennai, Kolkata, Mumbai, New Delhi
This time zone doesn't observe daylight saving time.
Iran Standard Time
(UTC+03:30)
Tehran
Israel Standard Time
(UTC+02:00)
Jerusalem
Jordan Standard Time
(UTC+02:00)
Amman
Kaliningrad Standard Time
(UTC+02:00)
Kaliningrad
Kamchatka Standard Time
(UTC+12:00)
Petropavlovsk-Kamchatsky – Old
Korea Standard Time
(UTC+09:00)
Seoul
This time zone doesn't observe daylight saving time.
Libya Standard Time
(UTC+02:00)
Tripoli
Line Islands Standard Time
(UTC+14:00)
Kiritimati Island
Lord Howe Standard Time
(UTC+10:30)
Lord Howe Island
Magadan Standard Time
(UTC+11:00)
Magadan
This time zone doesn't observe daylight saving time.
Magallanes Standard Time
(UTC–03:00)
Punta Arenas
Marquesas Standard Time
(UTC–09:30)
Marquesas Islands
Mauritius Standard Time
(UTC+04:00)
Port Louis
This time zone doesn't observe daylight saving time.
Middle East Standard Time
(UTC+02:00)
Beirut
Montevideo Standard Time
(UTC–03:00)
Montevideo
Morocco Standard Time
(UTC+01:00)
Casablanca
Mountain Standard Time
(UTC–07:00)
Mountain Time (US and Canada)
Mountain Standard Time (Mexico)
(UTC–07:00)
Chihuahua, La Paz, Mazatlan
Myanmar Standard Time
(UTC+06:30)
Yangon (Rangoon)
This time zone doesn't observe daylight saving time.
N. Central Asia Standard Time
(UTC+07:00)
Novosibirsk
Namibia Standard Time
(UTC+02:00)
Windhoek
Nepal Standard Time
(UTC+05:45)
Kathmandu
This time zone doesn't observe daylight saving time.
New Zealand Standard Time
(UTC+12:00)
Auckland, Wellington
Newfoundland Standard Time
(UTC–03:30)
Newfoundland
Norfolk Standard Time
(UTC+11:00)
Norfolk Island
North Asia East Standard Time
(UTC+08:00)
Irkutsk
North Asia Standard Time
(UTC+07:00)
Krasnoyarsk
North Korea Standard Time
(UTC+09:00)
Pyongyang
Omsk Standard Time
(UTC+06:00)
Omsk
Pacific SA Standard Time
(UTC–03:00)
Santiago
Pacific Standard Time
(UTC–08:00)
Pacific Time (US and Canada)
Pacific Standard Time (Mexico)
(UTC–08:00)
Baja California
Pakistan Standard Time
(UTC+05:00)
Islamabad, Karachi
This time zone doesn't observe daylight saving time.
Paraguay Standard Time
(UTC–04:00)
Asuncion
Romance Standard Time
(UTC+01:00)
Brussels, Copenhagen, Madrid, Paris
Russia Time Zone 10
(UTC+11:00)
Chokurdakh
Russia Time Zone 11
(UTC+12:00)
Anadyr, Petropavlovsk-Kamchatsky
Russia Time Zone 3
(UTC+04:00)
Izhevsk, Samara
Russian Standard Time
(UTC+03:00)
Moscow, St. Petersburg, Volgograd
This time zone doesn't observe daylight saving time.
SA Eastern Standard Time
(UTC–03:00)
Cayenne, Fortaleza
This time zone doesn't observe daylight saving time.
SA Pacific Standard Time
(UTC–05:00)
Bogota, Lima, Quito, Rio Branco
This time zone doesn't observe daylight saving time.
SA Western Standard Time
(UTC–04:00)
Georgetown, La Paz, Manaus, San Juan
This time zone doesn't observe daylight saving time.
Saint Pierre Standard Time
(UTC–03:00)
Saint Pierre and Miquelon
Sakhalin Standard Time
(UTC+11:00)
Sakhalin
Samoa Standard Time
(UTC+13:00)
Samoa
Sao Tome Standard Time
(UTC+01:00)
Sao Tome
Saratov Standard Time
(UTC+04:00)
Saratov
SE Asia Standard Time
(UTC+07:00)
Bangkok, Hanoi, Jakarta
This time zone doesn't observe daylight saving time.
Singapore Standard Time
(UTC+08:00)
Kuala Lumpur, Singapore
This time zone doesn't observe daylight saving time.
South Africa Standard Time
(UTC+02:00)
Harare, Pretoria
This time zone doesn't observe daylight saving time.
Sri Lanka Standard Time
(UTC+05:30)
Sri Jayawardenepura
This time zone doesn't observe daylight saving time.
Sudan Standard Time
(UTC+02:00)
Khartoum
Syria Standard Time
(UTC+02:00)
Damascus
Taipei Standard Time
(UTC+08:00)
Taipei
This time zone doesn't observe daylight saving time.
Tasmania Standard Time
(UTC+10:00)
Hobart
Tocantins Standard Time
(UTC–03:00)
Araguaina
Tokyo Standard Time
(UTC+09:00)
Osaka, Sapporo, Tokyo
This time zone doesn't observe daylight saving time.
Tomsk Standard Time
(UTC+07:00)
Tomsk
Tonga Standard Time
(UTC+13:00)
Nuku'alofa
This time zone doesn't observe daylight saving time.
Transbaikal Standard Time
(UTC+09:00)
Chita
Turkey Standard Time
(UTC+03:00)
Istanbul
Turks And Caicos Standard Time
(UTC–05:00)
Turks and Caicos
Ulaanbaatar Standard Time
(UTC+08:00)
Ulaanbaatar
This time zone doesn't observe daylight saving time.
US Eastern Standard Time
(UTC–05:00)
Indiana (East)
US Mountain Standard Time
(UTC–07:00)
Arizona
This time zone doesn't observe daylight saving time.
Coordinated Universal Time
This time zone doesn't observe daylight saving time.
UTC–02
(UTC–02:00)
Coordinated Universal Time–02
This time zone doesn't observe daylight saving time.
UTC–08
(UTC–08:00)
Coordinated Universal Time–08
UTC–09
(UTC–09:00)
Coordinated Universal Time–09
UTC–11
(UTC–11:00)
Coordinated Universal Time–11
This time zone doesn't observe daylight saving time.
UTC+12
(UTC+12:00)
Coordinated Universal Time+12
This time zone doesn't observe daylight saving time.
UTC+13
(UTC+13:00)
Coordinated Universal Time+13
Venezuela Standard Time
(UTC–04:00)
Caracas
This time zone doesn't observe daylight saving time.
Vladivostok Standard Time
(UTC+10:00)
Vladivostok
Volgograd Standard Time
(UTC+04:00)
Volgograd
W. Australia Standard Time
(UTC+08:00)
Perth
This time zone doesn't observe daylight saving time.
W. Central Africa Standard Time
(UTC+01:00)
West Central Africa
This time zone doesn't observe daylight saving time.
W. Europe Standard Time
(UTC+01:00)
Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
W. Mongolia Standard Time
(UTC+07:00)
Hovd
West Asia Standard Time
(UTC+05:00)
Ashgabat, Tashkent
This time zone doesn't observe daylight saving time.
West Bank Standard Time
(UTC+02:00)
Gaza, Hebron