Q: What is Amazon RDS for SQL Server?
Amazon RDS for SQL Server is a Relational Database Service (RDS) that makes it easy to set up, operate, and scale SQL Server deployments in the cloud. It’s a fully Managed durable database built for Enterprise workloads at scale and frees you up to focus on application development.
Q: How do I connect to Amazon RDS for SQL Server database instance?
In this tutorial, you will learn how to create a Microsoft SQL Server database Instance (we call this an instance), connect to the database, and delete the database instance. We will do this using Amazon Relational Database Service (Amazon RDS) and everything done in this tutorial is free tier eligible.
See more guides on the resources tab.
Q: What database versions does Amazon RDS for SQL Server support?
Amazon RDS for SQL Server currently supports Microsoft SQL Server 2014, 2016, 2017, and 2019. Information about the supported minor versions is available in the Amazon RDS User Guide.
Q: What SQL Server Editions does Amazon RDS for SQL Server support?
Amazon RDS for SQL Server Supports Enterprise, Standard, Web, and Express Editions.
Q: What instances types does Amazon RDS for SQL Server offer?
Please visit Amazon RDS for SQL Server Pricing for complete DB instance and regional availability information.
Q: How do I try Amazon RDS for SQL Server?
Get started with Amazon RDS for SQL Server.
Q: Does Amazon RDS for SQL Server have an SLA?
Yes. For more information, please see Amazon RDS Service Level Agreement.
Q: How much does Amazon RDS for SQL Server cost?
Please visit Amazon RDS for SQL Server Pricing for complete DB instance and regional availability information.
Q: How am I charged for Amazon RDS SQL Server?
Instance pricing is calculated from the time the instance is created to the time the instance is deleted. Instances are billed in one second increments with a 10 minute minimum charge following a billable status change such as creating, modifying, or deleting an instance.
As an example, if you create an r5.large instance at 1:00:00 PM, modify the instance to an r5.xlarge at 1:30:00 PM and delete the instance at 1:50:00 PM, you will be charged for 1,800 seconds (30 minutes) at r5.large pricing and 1,200 seconds (20 minutes) at r5.xlarge prices. If you create an r5.large instance at 3:00:00 PM and delete it at 3:06:00PM, the 10 minute minimum applies, and you will be charged for 600 seconds (10 minutes) at r5.large pricing.
Q: Do I need to pay for licenses separately?
No. The Amazon RDS for SQL Server Price includes the software license, underlying hardware resources, and Amazon RDS management capabilities.
Hardware, Scaling, and Storage
Q: What are the minimum and maximum storage limits of an Amazon RDS for SQL Server DB Instance?
The storage size of a database instance can be set anywhere between 10GiB to 16TiB. You can automatically grow your database storage with no downtime by leveraging the Auto-Scale Storage Feature.
Q: How often can I scale Storage on Amazon RDS for SQL Server?
You can increase the storage size as often as you want but you will need to wait 6 hours from the previous scale.
Q: How do I scale the compute resources associated with my Amazon RDS for SQL Server DB Instance?
You can scale the compute resources allocated to your instance in the AWS Management Console by selecting the desired instance and clicking the “modify” button. Memory and CPU resources are modified by changing your instance class.
When you modify your instance class, your requested changes will be applied during your specified maintenance window. Alternatively, you can use the "Apply Immediately" flag to apply your scaling requests immediately. Both of these options will have an availability impact for a few minutes as the scaling operation is performed. Bear in mind that any other pending system changes will also be applied.
Backup and Restore
Q: How do I enable backups for my RDS for SQL Server Instance?
By default, Amazon RDS enables automated backups of your DB Instance with a 7 day retention period. Free backup storage is limited to the size of your provisioned database and only applies to active DB Instances. For example, if you have 100 GB of provisioned database storage over the month, we will provide 100 GB-months of backup storage at no additional charge.
If you would like to modify your backup retention period, you can do so using the console or the CreateDBInstance API (when creating a new DB Instance) or the ModifyDBInstance API (for existing instances). You can use these APIs to change the RetentionPeriod parameter to any number from 0 (which will disable automated backups) to the desired number of days. The value can't be set to 0 if the DB instance is a source to Read Replicas. For more information on automated backups, please refer to the Amazon RDS User Guide.
Q: Can I take snapshots and keep them around as long as I want?
Yes, you can also back up your DB instance manually by manually creating a DB snapshot. For more information about creating a DB snapshot, see Creating a DB snapshot.
Q: What happens to my automated backups if I delete my DB instance?
When you delete a DB instance, you can create a final DB snapshot upon deletion; if you do, you can use this DB snapshot to restore the deleted DB instance at a later date. Amazon RDS retains this final user-created DB snapshot along with all other manually created DB snapshots after the DB instance is deleted. Refer to the pricing page for details of backup storage costs.
Q: Can I share my snapshots across different regions?
Yes, with Amazon RDS, you can copy automated or manual DB snapshots. After you copy a snapshot, the copy is a manual snapshot.
You can copy a snapshot within the same AWS Region, you can copy a snapshot across AWS Regions, and you can copy shared snapshots.
High Availability and Replication
Q: What is Multi-AZ on Amazon RDS for SQL Server?
Amazon RDS supports Multi-AZ deployments for Microsoft SQL Server by using either 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 DB instance.
Learn more here.
Q: Does Amazon RDS for SQL Server Read Replicas?
Yes, you can create up to five read replicas from one source DB instance.
Q: Can I have cross-region replicas with Amazon RDS for SQL Server?
Yes, you can create cross-region read replica for your Enterprise Edition workloads.
Q: What happens during a failover?
The primary and standby instances use the same endpoint, whose physical network address transitions to the secondary replica as part of the failover process. You don't have to reconfigure your application when a failover occurs.
Multi-AZ instance ports requirement
Traffic on port 3343 for TCP and UDP needs to be allowed both in Network ACLs of your VPC and in the Security Group that is attached to your Amazon RDS for SQL Server Multi AZ instance. This traffic is needed for both in-bound and out-bound directions. Please note that the traffic on this port is only required within the VPC in Network ACLs and within the Security Group that is attached to the RDS SQL Server instance.
Q: I have NOT changed any default rules in ACLs, what should I do?
If you have not deleted the default inbound and default outbound rules in your ACL, then you do not have to take any further action on your ACLs.
Q: I have NOT added any “allow” rule in my Security Group, what should I do?
Allow traffic on the port 3343 for UDP and TCP in the Security Group that is attached to your RDS SQL Server Multi-AZ instance.
Q: I have not allowed this traffic so far, why did I not see any failures?
Not allowing traffic on the port 3343 for UDP and TCP can cause unexpected failures in WSFC service. Even if you have not seen any failures so far, you may see them in the future. It depends on how and when the WSFC service needs traffic on port 3343. Also, your instance may currently be using an engine version that is not using AlwaysOn for Amazon RDS for SQL Server. In which case Amazon RDS for SQL Server would be using Database Mirroring for providing Multi-AZ, and port 3343 is not required. However, in the future you may upgrade to a version that is using AlwaysOn on Amazon RDS for SQL Server, and you must allow this traffic.
Q: How do I modify Networks ACLs and Security Group?
Refer following document to modify Network ACL to add ACL rules.
Refer following document to add Security Groups (egress) rules.
Refer following document to add Security Groups (ingress) rules.
Max Server Memory (MB) Configuration
The 'max server memory (MB)' setting is used to let SQL Server know how much physical memory it can reserve for its buffer pool. Configuring a maximum allowable value for this setting ensures the operating system (OS) and other processes won't compete for memory with the SQL Server process. This helps to prevent memory pressure issues and increases the stability of the database instance.
Q: What is the maximum allowable value of ‘max server memory (MB)’ parameter?
- If the instance has less than 2 GB, then the maximum allowable value of ‘max server memory (MB)’ is total memory - 200MB.
- If the instance has less than 8 GB, then the maximum allowable value of ‘max server memory (MB)’ is total memory - total memory*1/8.
- If the instance has less than 64 GB: then the maximum allowable value of ‘max server memory (MB)’ is total memory - total memory*1/16.
- If the instance has 64 GB or more, then the maximum allowable value of ‘max server memory (MB)’ is total memory-4GB.
Q: I am using a database instance with 64GB of memory, and I have customized the default value of ‘max server memory (MB)’ to 60GB. Will it stay as 60GB?
Yes, this is because 60GB is the maximum allowable value of 'max server memory (MB)' on a DB instance with 64GB of total memory.
Q: I am using a database instance with 64GB of memory, and I have customized the default value of ‘max server memory (MB)’ to 62GB. What will be the new value?
According to the maximum allowable values mentioned above, the new value will be set to 60GB. After the value is applied to your database instance, you will see an event in AWS console or via CLI that says 'max server memory (MB)' value has been reset to 60GB.
Q: I am using a database instance with 64GB of memory, and I have customized the default value of ‘max server memory (MB)’ to 52GB. Will I be able to increase it?
Yes, you are allowed to customize this value up to the maximum allowable value mentioned above. In this case the maximum allowable value is 60GB.
Q: I am using a database instance with 64GB of memory with the default value for ‘max server memory (MB)’. What is the change I should expect?
We will calculate a new default value similar to the AWS documentation on your behalf and apply that to your database instance.
Q: I am using the existing default value for the ‘max server memory (MB)’, when will the changes to this parameter value be applied?
After March 7th, 2023, we will apply the new default parameter value to your instance as per the memory calculations mentioned above.
Q: After the new value is applied, do I need to do anything?
No, you may see “Pending Reboot” status for your parameter group on the RDS console, but a reboot is not required for your database instance as the 'max server memory (MB)' parameter change would have been automatically applied. This message will clear after the next instance reboot and no action is needed.
Q: I am using a database instance with 64GB of memory, and I have customized the default value of ‘max server memory (MB)’ to 50GB. If I downsize it to a database instance with 32GB of memory, what will happen?
Based on the available memory on the new database instance and according to the memory calculation mentioned above, we will reset the ‘max server memory (MB)’ to 30GB on your new database instance.
Q: Will there be any downtime for this change?
Amazon RDS is free to try. Pay only for what you use. There is no minimum fee.
Instantly get access to the AWS Free Tier.
Get started with Amazon RDS for SQL Server in the AWS Console.