AWS Security ChangesHomeSearch

AWS prescriptive-guidance documentation change

Service: prescriptive-guidance · 2026-07-10 · Documentation low

File: prescriptive-guidance/latest/migration-sql-server/comparison.md

Summary

Updated SQL Server feature comparison table with corrected version support, restructured sections, fixed links, added new references, and included visual diagrams. Changes affect development, HA/DR, scalability, security, and other feature comparisons across Amazon RDS, RDS Custom, and EC2.

Security assessment

The changes primarily involve documentation corrections, formatting improvements, and updated feature comparisons. While security-related features like TDE, SSL, and KMS encryption are mentioned, the updates reflect version support changes rather than addressing vulnerabilities. No evidence of security patches, vulnerability fixes, or incident responses exists in the diff.

Diff

diff --git a/prescriptive-guidance/latest/migration-sql-server/comparison.md b/prescriptive-guidance/latest/migration-sql-server/comparison.md
index 4158406c2..1f9d845c4 100644
--- a//prescriptive-guidance/latest/migration-sql-server/comparison.md
+++ b//prescriptive-guidance/latest/migration-sql-server/comparison.md
@@ -5 +5 @@
-[Documentation](/index.html)[AWS Prescriptive Guidance](https://aws.amazon.com/prescriptive-guidance/)[Migrating Microsoft SQL Server databases to the AWS Cloud](welcome.html)
+[Documentation](/index.html)[AWS Prescriptive Guidance](https://aws.amazon.com/prescriptive-guidance/)[Migrating Microsoft SQL Server databases to the AWS Cloud](introduction.html)
@@ -17 +17 @@ The following table provides a side-by-side comparison of SQL Server features su
-For the most current information for Amazon RDS, see [Microsoft SQL Server on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html) in the AWS documentation.
+For the most current information for Amazon RDS, see [Microsoft SQL Server on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport.Limits) in the AWS documentation.
@@ -19 +19 @@ For the most current information for Amazon RDS, see [Microsoft SQL Server on Am
-Development
+### Development
@@ -21,2 +21 @@ Development
-
-Development feature | Amazon RDS | Amazon RDS Custom | Amazon EC2 | Notes  
+**Development feature**| **Amazon RDS**| **Amazon RDS Custom**| **Amazon EC2**| **Notes**  
@@ -28 +27 @@ Change tracking |  Yes |  Yes |  Yes |
-Columnstore indexes |  Yes (Enterprise and Standard Editions: 2016 and later)  |  Yes (Enterprise and Standard Editions: 2019 and 2022) |  Yes (Enterprise Edition: 2014 and later; Standard Edition: 2016 SP1 and later)  | See [RDBMS scalability and performance](https://learn.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2019?view=sql-server-ver16#RDBMSSP) in the SQL Server documentation.  
+Columnstore indexes|  Yes (Enterprise Edition: 2014 and later)|  Yes (Enterprise Edition: 2019)|  Yes (Enterprise Edition: 2014 and later)|   
@@ -34 +33 @@ DDL event notifications |  No |  Yes |  Yes | If this feature is critical to you
-Delayed transaction durability (lazy commit) |  Yes (SQL Server 2016 and later) |  Yes (SQL Server 2019 and 2022) |  Yes (SQL Server 2014 and later) |   
+Delayed transaction durability (lazy commit)|  Yes (SQL Server 2014 and later)|  Yes (SQL Server 2019)|  Yes (SQL Server 2014 and later)|   
@@ -42,2 +41,2 @@ In-memory database |  Yes (SQL Server 2014 and later) |  Yes (SQL Server 2019) |
-Linked servers |  Yes (SQL Server, Oracle, and Teradata targets) |  Yes, with CEV |  Yes | See the [Implementing linked servers with Amazon RDS for SQL Server](https://aws.amazon.com/blogs/database/implement-linked-servers-with-amazon-rds-for-microsoft-sql-server/) blog post and [Support for linked servers with Oracle OLEDB in Amazon RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.LinkedServers_Oracle_OLEDB.html) in the Amazon RDS documentation. A custom engine version (CEV) is a binary volume snapshot of a database version and Amazon Machine Image (AMI).  
-Machine Learning Services (with R scripts) |  Yes |  Yes |  Yes | Machine Learning Services must be installed separately on a Windows or Linux machine. It's supported on an [Always On Failover Cluster Instance (FCI)](https://docs.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/always-on-failover-cluster-instances-sql-server?view=sql-server-ver15) only in SQL Server 2019 and later. Although R isn't supported on Amazon RDS, you can use it on AWS (see the blog post [Getting started with R on AWS](https://aws.amazon.com/blogs/opensource/getting-started-with-r-on-amazon-web-services/)).  
+Linked servers|  Yes (SQL Server and Oracle targets)|  Yes|  Yes| See the [Implementing linked servers with Amazon RDS for SQL Server](https://aws.amazon.com/blogs/database/implement-linked-servers-with-amazon-rds-for-microsoft-sql-server/) blog post and [Support for linked servers with Oracle OLEDB in Amazon RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.LinkedServers_Oracle_OLEDB.html) in the Amazon RDS documentation.  
+Machine Learning Services (with R scripts)|  No|  Yes|  Yes| Machine Learning Services must be installed separately on a Windows or Linux machine. It's supported on an [Always On Failover Cluster Instance (FCI)](https://docs.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/always-on-failover-cluster-instances-sql-server?view=sql-server-ver15) only in SQL Server 2019 and later.Although R isn't supported on Amazon RDS, you can use it on AWS (see the blog post [Getting started with R on AWS](https://aws.amazon.com/blogs/opensource/getting-started-with-r-on-amazon-web-services/)).  
@@ -54 +53 @@ Resource Governor |  No |  Yes |  Yes | If this feature is critical to your work
-Safe CLR |  Yes (SQL Server 2016, 2019, and 2022) |  Yes |  Yes |   
+Safe CLR|  Yes (SQL Server 2014 and 2016)|  Yes|  Yes|   
@@ -62 +60,0 @@ SQL Server Integration Services (SSIS) |  Yes (SQL Server 2016 and later) |  Yes
-SQL Server Reporting Services (SSRS) |  Yes (SQL Server 2016 and later) |  Yes |  Yes | See [Support for SSRS in Amazon RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.SSRS.html) in the Amazon RDS documentation.  
@@ -65,0 +64 @@ SQL Server Profiler |  Yes (server-side and client-side traces) |  Yes |  Yes |
+SQL Server Reporting Services (SSRS)|  Yes (SQL Server 2016 and later)|  Yes|  Yes| See [Support for SSRS in Amazon RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.SSRS.html) in the Amazon RDS documentation.  
@@ -69 +68 @@ Stretch Database |  No |  Yes |  Yes | If this feature is critical to your workl
-Transact-SQL endpoints |  No |  Yes |  Yes | All operations that use `CREATE ENDPOINT` are unavailable on Amazon RDS. We recommend that you install SQL Server on an EC2 instance for these operations.   
+Transact-SQL endpoints|  No|  Yes|  Yes| All operations that use `CREATE ENDPOINT` are unavailable on Amazon RDS. We recommend that you install SQL Server on an Amazon EC2 instance for these operations.  
@@ -73,2 +72 @@ WCF Data Service |  No |  Yes |  Yes | If this feature is critical to your workl
-HA/DR
-    
+### HA/DR
@@ -78 +76 @@ Development feature | Amazon RDS | Amazon RDS Custom | Amazon EC2 | Notes
-Always On availability groups |  Yes |  Yes (only for migration purposes) |  Yes | If you need a self-managed Always On availability group, we recommend that you use AWS Launch Wizard to simplify SQL Server HA deployment on an EC2 instance. See [AWS Launch Wizard for SQL Server](https://docs.aws.amazon.com/launchwizard/latest/userguide/launch-wizard-sql.html) in the AWS documentation.  
+Always On availability groups|  Yes|  Yes (both synchronous and asynchronous)|  Yes| If you need a self-managed Always On availability group, we recommend that you use AWS Launch Wizard to simplify SQL Server HA deployment on an Amazon EC2instance. See [AWS Launch Wizard for SQL Server](https://docs.aws.amazon.com/launchwizard/latest/userguide/launch-wizard-sql.html) in the AWS documentation.  
@@ -82,3 +80,3 @@ Backing up to Amazon S3 |  Yes |  Yes |  Yes | Amazon RDS supports native backup
-Database mirroring |  No |  Yes |  Yes |   
-SQL Server replication |  No (limited push subscription) |  Yes |  Yes | If you want to replicate a single table on Amazon RDS, you can also use [AWS DMS](https://aws.amazon.com/dms/) or set up read replicas.  
-Distributed availability groups |  No |  Yes (migration only) |  Yes | If this feature is critical to your workload, consider choosing Amazon RDS Custom or Amazon EC2.  
+Database mirroring|  Yes (Multi-AZ)|  Yes|  Yes|   
+Database replication|  No (limited push subscription)|  Yes|  Yes| If you want to replicate a single table on Amazon RDS, you can also use [AWS DMS](https://aws.amazon.com/dms/) or set up read replicas.  
+Distributed availability groups|  No|  Yes|  Yes| If this feature is critical to your workload, consider choosing Amazon RDS Custom or Amazon EC2.  
@@ -86 +83,0 @@ Log shipping |  No |  Yes |  Yes | For disaster recovery purposes, you can use r
-Custom log shipping |  Yes |  Yes | Not applicable |   
@@ -88,2 +85,2 @@ Managed automated backups |  Yes |  Yes |  No (requires configuring and managing
-Multi-AZ with automated failover |  Yes |  Yes (storage-based replication) |  Yes (Enterprise Edition only, with manual configuration of Always On availability groups) | See [Multi-AZ deployments for Amazon RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerMultiAZ.html) in the Amazon RDS documentation.  
-Read replicas |  Yes (SQL Server 2016 and later) |  No |  Yes (with manual configuration of Always On availability groups) |   
+Multi-AZ with automated failover|  Yes|  Yes (with manual configuration of Always On availability groups)|  Yes (Enterprise Edition only, with manual configuration of Always On availability groups)| See [Multi-AZ deployments for Amazon RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerMultiAZ.html) in the Amazon RDS documentation.  
+Read replicas| Yes (SQL Server 2016 and later)| Yes (with manual configuration of Always On availability groups)| Yes (with manual configuration of Always On availability groups)|   
@@ -92,2 +89 @@ Read replicas |  Yes (SQL Server 2016 and later) |  No |  Yes (with manual confi
-Scalability
-    
+### Scalability
@@ -95 +91 @@ Scalability
-Development feature | Amazon RDS | Amazon RDS Custom | Amazon EC2 | Notes  
+**Development feature**| **Amazon RDS**| **Amazon RDS Custom**| **Amazon EC2**| **Notes**  
@@ -97,2 +93,2 @@ Development feature | Amazon RDS | Amazon RDS Custom | Amazon EC2 | Notes
-Built-in instance and database monitoring and metrics |  Yes |  No (export your own metrics to Amazon CloudWatch or use a third-party solution) |  No (export your own metrics to CloudWatch or use a third-party solution) | See the blog post [Monitor your SQL Server database by using custom metrics with Amazon CloudWatch and AWS Systems Manager](https://aws.amazon.com/blogs/database/monitor-your-microsoft-sql-server-using-custom-metrics-with-amazon-cloudwatch-and-aws-systems-manager/).  
-Configurable storage size |  Yes |  Yes |  Yes |   
+Built-in instance and database monitoring and metrics|  Yes|  No|  No (export your own metrics to CloudWatch or use a third-party solution)| See the blog post [Monitor your SQL Server database by using custom metrics with Amazon CloudWatch and AWS Systems Manager](https://aws.amazon.com/blogs/database/monitor-your-microsoft-sql-server-using-custom-metrics-with-amazon-cloudwatch-and-aws-systems-manager/).  
+Configurable storage size|  Yes|  No|  Yes|   
@@ -100 +96 @@ Maximum number of databases per instance | Depends on the instance size and Mult
-Maximum storage size of a DB instance | 64 TiB | 64 TiB |  No limitation | Amazon RDS also supports tempdb databases on local disks by using Non-Volatile Memory Express (NVMe) instance storage. See [Instance store support for the tempdb database on Amazon RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.InstanceStore.html) in the Amazon RDS documentation.  
+Maximum storage size of a DB instance| 16 TiB| 16 TiB|  No limitation| Amazon RDS also supports tempdb databases on local disks by using Non-Volatile Memory Express (NVMe) instance storage. See [Instance store support for the tempdb database on Amazon RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.InstanceStore.html) in the Amazon RDS documentation.  
@@ -102,3 +98,2 @@ Minimum storage size of a DB instance | 20 GiB (Enterprise, Standard, Web, and E
-New Query Optimizer |  Yes (SQL Server 2016 and later) |  Yes (SQL Server 2019 and 2022) |  Yes (SQL Server 2014 and later) |   
-  
-Security
+New Query Optimizer|  Yes (SQL Server 2014 and later)|  Yes (SQL Server 2014 and later)|  Yes (SQL Server 2014 and later)|   
+Read replicas| Yes (SQL Server 2016 and later)| Yes (with manual configuration of Always On availability groups)| Yes (with manual configuration of Always On availability groups)|   
@@ -105,0 +101 @@ Security
+### Security
@@ -107 +103 @@ Security
-Development feature | Amazon RDS | Amazon RDS Custom | Amazon EC2 | Notes  
+**Development feature**| **Amazon RDS**| **Amazon RDS Custom**| **Amazon EC2**| **Notes**  
@@ -109,3 +105,3 @@ Development feature | Amazon RDS | Amazon RDS Custom | Amazon EC2 | Notes
-Automatic software patching |  Yes |  No (CEV) Yes (RPEV) |  No | A custom engine version (CEV) is a binary volume snapshot of a database version and Amazon Machine Image (AMI). An RDS provided engine version (RPEV) is the default Amazon Machine Image (AMI) and Microsoft SQL Server installation.  
-Encrypted storage using AWS KMS |  Yes |  Yes |  Yes | See the blog post [Securing data in Amazon RDS using AWS KMS encryption](https://aws.amazon.com/blogs/database/securing-data-in-amazon-rds-using-aws-kms-encryption/).  
-Server roles |  Yes (SQL Server 2016 and later) |  Yes (SQL Server 2019 and 2022) |  Yes (SQL Server 2014 and later) |   
+Automatic software patching|  Yes|  No|  No|   
+Encrypted storage using AWS KMS|  Yes (all SQL Server editions except Express)|  Yes|  Yes| See the blog post [Securing data in Amazon RDS using AWS KMS encryption](https://aws.amazon.com/blogs/database/securing-data-in-amazon-rds-using-aws-kms-encryption/).  
+Flexible server roles|  Yes (SQL Server 2014 and later)|  Yes (SQL Server 2019)|  Yes (SQL Server 2014 and later)|   
@@ -115,2 +111,2 @@ SSL (encryption in transit) |  Yes |  Yes |  Yes | See [Using SSL with a Microso
-sysadmin role |  No |  Yes |  Yes | For unsupported server-level roles, see [Microsoft SQL Server security](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport.UnsupportedRoles) in the Amazon RDS documentation. When you create a new RDS DB instance, the default master user that you use gets certain privileges for that DB instance (see [Account privileges](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.MasterAccounts.html) in the Amazon RDS documentation).  
-TDE (encryption at rest) |  Yes (Enterprise Edition: 2016-2022; Standard Edition: 2019 and 2022) |  Yes (SQL Server 2019 and 2022 Enterprise, Standard, Web, and Developer Editions) |  Yes (Enterprise Edition: 2014-2019; Standard Edition: 2019) | See information about TDE support in the [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.TDE.html) and [Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html#custom-sqlserver-features.smk.tde) documentation.  
+sysadmin role|  No|  Yes|  Yes| For unsupported server-level roles, see [Microsoft SQL Server security](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport.UnsupportedRoles) in the Amazon RDS documentation.When you create a new Amazon RDS DB instance, the default master user that you use gets certain privileges for that DB instance (see [Account privileges](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.MasterAccounts.html) in the Amazon RDS documentation).  
+TDE (encryption at rest)|  Yes (Enterprise Edition: 2014-2019; Standard Edition: 2019)| Yes (SQL Server 2019 Enterprise, Standard, Web, and Developer Editions)|  Yes (Enterprise Edition: 2014-2019; Standard Edition: 2019)| See information about TDE support in the [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.TDE.html) and [Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html#custom-sqlserver-features.smk.tde) documentation.  
@@ -119,2 +115 @@ Windows Authentication |  Yes |  Yes |  Yes |
-Other features
-    
+### Other features
@@ -122 +117 @@ Other features
-Development feature | Amazon RDS | Amazon RDS Custom | Amazon EC2 | Notes  
+**Development feature**| **Amazon RDS**| **Amazon RDS Custom**| **Amazon EC2**| **Notes**  
@@ -125 +120 @@ Ability to install a third-party agent |  No |  Yes |  Yes |
-Ability to rename existing databases |  Yes (Single-AZ only) |  Yes |  Yes (not available for databases in availability groups or enabled for mirroring) | For Multi-AZ deployments on Amazon RDS, see [Renaming a Microsoft SQL Server database in a Multi-AZ deployment](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.RenamingDB.html) in the Amazon RDS documentation.  
+Ability to rename existing databases|  Yes (Single-AZ only)|  Yes (not available for databases in availability groups or enabled for mirroring)|  Yes (not available for databases in availability groups or enabled for mirroring)| For Multi-AZ deployments on Amazon RDS, see [Renaming a Microsoft SQL Server database in a Multi-AZ deployment](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.RenamingDB.html) in the Amazon RDS documentation.  
@@ -127 +122 @@ Control over DB instance and operating system |  No |  Yes |  Yes | If this feat
-Custom set time zones |  Yes |  Yes |  Yes |   
+Custom set time zones|  Yes|  No|  Yes|   
@@ -132 +127 @@ SQL Server editions | Enterprise, Standard, Web, Express | Enterprise, Standard,
-SQL Server versions | 2016, 2017, 2019, 2022 | 2019, 2022 | 2014, 2016, 2017, 2019, 2022 |   
+SQL Server versions| 2014, 2016, 2017, 2019, 2022| 2022, 2019| 2014, 2016, 2017, 2019, 2022|   
@@ -139,0 +135,2 @@ For detailed information about these features, see the following:
+  * [Remote Desktop Gateway on AWS](https://aws.amazon.com/quickstart/architecture/rd-gateway/) (AWS Quick Start)
+
@@ -141,0 +139,2 @@ For detailed information about these features, see the following:
+  * [SQL Server with Always On replication on AWS](https://aws.amazon.com/quickstart/architecture/sql/) (AWS Quick Start)
+
@@ -144 +143,3 @@ For detailed information about these features, see the following:
-  * [`AWSEC2-SQLServerDBRestore`](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awsec2-sqlserverdbrestore.html) (AWS Systems Manager Automation runbook that restores SQL Server database backups stored in Amazon S3 to SQL Server 2017 running on an EC2 Linux instance)
+  * [AWSEC2-SQLServerDBRestore](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awsec2-sqlserverdbrestore.html) (AWS Systems Manager Automation runbook that restores SQL Server database backups stored in Amazon S3 to SQL Server 2017 running on an Amazon EC2 Linux instance)
+
+
@@ -146,0 +148 @@ For detailed information about these features, see the following:
+The following diagram helps visualize the information in the previous table, to assist in your decision-making process.
@@ -147,0 +150 @@ For detailed information about these features, see the following:
+![](/images/prescriptive-guidance/latest/migration-sql-server/images/guide-img/aa3b9357-4901-48ca-9fc9-a997d21ade3e/images/f04980fa-f2d0-46ba-b72d-46f8b843bc2e.png)
@@ -153 +156 @@ The following diagram shows the division of responsibilities between AWS and the
-![Shared responsibility in the management of SQL Server features and operations](/images/prescriptive-guidance/latest/migration-sql-server/images/shared-responsibility.png)
+![](/images/prescriptive-guidance/latest/migration-sql-server/images/guide-img/aa3b9357-4901-48ca-9fc9-a997d21ade3e/images/4943526e-df45-46a5-b505-e40a338ec132.png)
@@ -155 +158 @@ The following diagram shows the division of responsibilities between AWS and the
-With AWS services, you don’t have to worry about administration tasks such as server provisioning, patching, setup, configuration, backups, or recovery. AWS continuously monitors your clusters to keep your workloads up and running with self-healing storage and automated scaling. You focus on high-value application development tasks such as schema design, query construction, and optimization, while AWS takes care of operational tasks on your behalf.
+With AWS services, you don't have to worry about administration tasks such as server provisioning, patching, setup, configuration, backups, or recovery. AWS continuously monitors your clusters to keep your workloads up and running with self-healing storage and automated scaling. You focus on high-value application development tasks such as schema design, query construction, and optimization, while AWS takes care of operational tasks on your behalf.
@@ -167 +170 @@ To use the Amazon Web Services Documentation, Javascript must be enabled. Please
-Best practices for migrating to Amazon RDS for SQL Server
+Best practices for migrating to RDS for SQL Server