
{"id":7540,"date":"2020-01-30T13:04:40","date_gmt":"2020-01-30T13:04:40","guid":{"rendered":"https:\/\/rax-stg-wp-aws.com\/blogs\/back-up-restore-and-monitor-your-aws-sql-native-database\/"},"modified":"2026-11-03T19:28:43","modified_gmt":"2026-11-03T19:28:43","slug":"back-up-restore-and-monitor-your-aws-sql-native-database","status":"publish","type":"blogs","link":"https:\/\/www.rackspace.com\/en-gb\/blogs\/back-up-restore-and-monitor-your-aws-sql-native-database\/","title":{"rendered":"Back up, restore, and monitor your AWS SQL native database"},"content":{"rendered":"<p><strong>Introduction<\/strong><br \/>\nThis blog post discusses backing up, restoring, and monitoring SQL native&nbsp;databases in Amazon\u00ae Web Services (AWS) Relational Database Service(RDS).&nbsp;A database backup results when you back up the operational state, architecture,&nbsp;and stored data of a database. It enables you to create a duplicate instance or&nbsp;a copy of your database in case the primary database crashes, gets corrupted, or is lost.<\/p>\n<p><strong>SQL native full backup in AWS RDS<\/strong><br \/>\nAWS permits you to take only a full backup of a SQL native database in an AWS&nbsp;RDS SQL instance. You can use the <em>rds_backup_database<\/em>&nbsp;stored procedure to&nbsp;create a full backup of your SQL database in the S3 bucket, as shown in the&nbsp;following example:<\/p>\n<p>&nbsp; Command to Perform backup of database exec msdb.dbo.rds_backup_database<br \/>\n<em>&nbsp; &nbsp; @source_db_name=&#8217;database_name&#8217;, @s3_arn_to_backup_to=&#8217;arn:aws:s3:::bucket_name\/file_name_and_extension&#8217;,<br \/>\n&nbsp; &nbsp; @overwrite_S3_backup_file=1;<\/em><\/p>\n<p>&nbsp; &nbsp; Command to Perform KMS Encrypted Backups<br \/>\n<em>&nbsp; &nbsp; exec msdb.dbo.rds_backup_database<br \/>\n&nbsp; &nbsp; @source_db_name=&#8217;database_name&#8217;,<br \/>\n&nbsp; &nbsp; @s3_arn_to_backup_to=&#8217;arn:aws:s3:::bucket_name\/file_name_and_extension&#8217;, @kms_master_key_arn=&#8217;arn:aws:kms:region:account-id:key\/key-id&#8217;,<br \/>\n&nbsp; &nbsp; @overwrite_S3_backup_file=1;<\/em><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26430-body-picture1.png\" alt=\"aws rds pic 1\" \/><\/p>\n<p><em><a href=\"https:\/\/niftit.com\/backup-with-aws-rds\/\">Image Source<\/a><\/em>&nbsp;<\/p>\n<p><strong>SQL Native Full Backup Restore in AWS RDS<\/strong><\/p>\n<p>The <em>rds_restore_database<\/em>&nbsp;stored procedure enables you to restore SQL database from an S3 bucket on your AWS RDS instance, as shown in the following example:<\/p>\n<p><strong>Note<\/strong>: You might need to change the following parameters in these examples:<\/p>\n<ul>\n<li><em>database\\_name<\/em><\/li>\n<li><em>bucket\\_name<\/em><\/li>\n<li><em>file\\_name\\_and\\_extension<\/em><\/li>\n<li><em>region<\/em><\/li>\n<li><em>account-id<\/em><\/li>\n<li><em>key-id<\/em><\/li>\n<\/ul>\n<p><em>&nbsp; &nbsp; <\/em>&nbsp; &nbsp; Command to Perform Restore DB from the backup file available in the S3 bucket.<br \/>\n<em>&nbsp; &nbsp; &nbsp; &nbsp; <\/em><\/p>\n<p><em>exec msdb.dbo.rds_restore_database<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; @restore_db_name=&#8217;database_name&#8217;,<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; @s3_arn_to_restore_from=&#8217;arn:aws:s3:::bucket_name\/file_name_and_extension&#8217;;<\/em><\/p>\n<p>&nbsp; &nbsp; &nbsp; &nbsp; Command to Perform Restore DB from S3 bucket having KMS key<br \/>\n&nbsp; &nbsp; <em>&nbsp; &nbsp; exec msdb.dbo.rds_restore_database<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; @restore_db_name=&#8217;database_name&#8217;,<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; @s3_arn_to_restore_from=&#8217;arn:aws:s3::: bucket_name\/file_name_and_extension&#8217;,<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; @kms_master_key_arn=&#8217;arn:aws:kms:region:account-id:key\/key-id&#8217;;<\/em><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26430-body-picture2.png\" alt=\"aws rds pic pic 2\" \/><\/p>\n<p><a href=\"https:\/\/www.awslab.io\/sqlserver\/lab2\/\"><em>Image Source<\/em><\/a>&nbsp;<\/p>\n<p><strong>AWS RDS back up and restores limitations and exclusions<\/strong><\/p>\n<p>This section describes AWS RDS limitations and exclusions for backing up or restoring databases.<br \/>\n&nbsp;<\/p>\n<p><strong>Exclusions for AWS RDS SQL native backups<\/strong><\/p>\n<p>The following SQL native elements cannot be backed up or restored in AWS RDS instances:<\/p>\n<ul>\n<li>Differential<\/li>\n<li>Transaction log<\/li>\n<li>Filegroup backup<\/li>\n<\/ul>\n<p><strong>Limitations of AWS RDS SQL Native backups<\/strong><\/p>\n<p>The following list contains limitations of backing up your AWS RDS SQL native databases:<\/p>\n<ul>\n<li>The maximum supported backup file size is 1 TB supported in an AWS RDS instance.<\/li>\n<li>You can backup the database in the same region as the RDS instance to which&nbsp;it belongs. When a user who has access to the S3 bucket in Region A, where&nbsp; the RDS instance resides, tries to back up the database to the S3 bucket in&nbsp; Region B, the following error occurs:<\/li>\n<\/ul>\n<p><em>&nbsp; &nbsp; &nbsp; &nbsp; Aborted the task because of a task failure or an overlap with your<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; preferred backup window for RDS automated backup.<\/em><\/p>\n<p><em>&nbsp; &nbsp; &nbsp; &nbsp; Access Denied.<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; Please specify a bucket that is in the same region as RDS instance.<\/em><\/p>\n<p><strong>Database backup and restore limitation scenarios<\/strong><\/p>\n<p><strong>KMS-encrypted backups<\/strong><\/p>\n<p>\nAWS does not support restoring the Key Management Service (KMS) encrypted backup to an on-premise SQL server or any other EC2 instance. However, if you need to restore a backup file, you should create a new RDS instance in the same region with the same KMS key. After you restore the KMS-encrypted backup, take a backup without encryption to restore it to on-premises or any other EC2 instance.<\/p>\n<p>If you try to restore a KMS-encrypted backup, you might get the following error:<\/p>\n<p><em>&nbsp; Msg 3241, Level 16, State 0, Line 1<br \/>\n&nbsp; &nbsp; The media family on device &#8216;C:\\TempDB_Encrypted.bak&#8217; is incorrectly formed. SQL Server cannot process this media family.<\/em><\/p>\n<p><strong>TDE -enabled backups<\/strong><\/p>\n<p>AWS supports Transparent Data Encryption (TDE)-enabled backups in only&nbsp;Enterprise editions and requires both a certificate and a master key. Because&nbsp;the database backup does not include a key, you get the following error when&nbsp;you try to restore it on an AWS RDS Instance:<\/p>\n<p><em>&nbsp; &nbsp;Cannot find server certificate. RESTORE FILELIST is terminating abnormally.<\/em><\/p>\n<p><strong>Restore a backup in the same AWS instance<\/strong><\/p>\n<p>AWS does not allow you to overwrite an existing database or restore an AWS RDS&nbsp;instance to an existing database. You must restore it to a database with another&nbsp;name. If you try to restore to an existing database, you get the following error:<\/p>\n<p>&nbsp;<em> &nbsp; Aborted the task because of a task failure or a concurrent RESTORE_DB request.<\/em><\/p>\n<p><em>&nbsp; &nbsp; Aborted the task because of a task failure or a concurrent RESTORE_DB request.<\/em><\/p>\n<p><em>&nbsp; &nbsp; Task ID x (RESTORE_DB) exception: Database TestDB cannot be restored because there is already an existing database with the same file_guids on the instance.<br \/>\n&nbsp; &nbsp; Monitoring Backup and Restore tasks<\/em><\/p>\n<p><em>AWS uses the `rds_task_status` stored procedure to track backup and restore tasks, as shown in the following example:<\/em><\/p>\n<p><em>&nbsp; &nbsp; exec msdb.dbo.rds_task_status @db_name=&#8217;database_name&#8217;<\/em><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26430-body-picture3.png\" alt=\"aws rds pic 3\" \/><\/p>\n<p><a href=\"https:\/\/www.awslab.io\/sqlserver\/lab2\/\"><em>Image Source<\/em><\/a>&nbsp;<\/p>\n<p>After you get the tracking id, you can monitor the backup or restore &nbsp;process&nbsp;by using the following code:<\/p>\n<p><em>&nbsp; &nbsp; exec msdb..rds_task_status @task_id= 4<\/em><\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>AWS RDS enables you to perform full back up and restoration of SQL native&nbsp;databases. However, there are some limitations when you take the backup in a&nbsp;different AWS region S3 bucket and when you restore encrypted and TDE-enabled&nbsp;backups. You should test the backup and restore process in a test environment&nbsp;before migrating or restoring your database to production.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Back up, restore, and monitor your AWS SQL native database<\/p>\n","protected":false},"author":2,"featured_media":7542,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","format":"standard","meta":{"content-type":"","nid":"26430","content_type":"blog","created_by":"10130","authored_on":"2024-01-01T13:04:40+00:00","field_article_industries":"","tag_category":"Technical","field_blog_author_text":"by Anil Kumar, SQL Server Database Administrator, Rackspace Technology","seo_description":"Learn to back up, restore, and monitor your AWS SQL native databases in the AWS Relational Database Service, ensuring data integrity and system resilience.\r\n","field_featured_image":"","insights_image":"\/wp-content\/uploads\/2026\/blog_technical_images\/26430-insights_image-aws-technical-blog-1-insights.png","field_partners":"","rxt_platforms":"Microsoft Azure","product":"","publisheddate":"2020-01-30T13:04:40","rxt_solutions":"Cloud Management & Operations, Cloud Optimization","opengraph_tag":"","x_tag":"","teaser_flag":"Technical Blog","seo_titile":"AWS SQL Native Database Backup & Monitoring | Rackspace","field_topics":"","field_slug":"back-up-restore-and-monitor-your-aws-sql-native-database","footnotes":""},"categories":[178],"tags":[204],"class_list":["post-7540","blogs","type-blogs","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-technical"],"_links":{"self":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/7540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs"}],"about":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/types\/blogs"}],"author":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/comments?post=7540"}],"version-history":[{"count":3,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/7540\/revisions"}],"predecessor-version":[{"id":9526,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/7540\/revisions\/9526"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/media\/7542"}],"wp:attachment":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/media?parent=7540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/categories?post=7540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/tags?post=7540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}