AWS released an update to its Relational Database Service (RDS) that allows users to take advantage of native SQL Server backup and restore functionality. AWS beat Microsoft Azure to market with this capability which simplifies database migration and disaster recovery scenarios.
Until now, RDS—which in addition to SQL Server supports MySQL, PostgreSQL, and Oracle database engines—only offered the ability to execute storage volume, or instance backups. These AWS-specific snapshots backup all databases on the server and support point-in-time recovery. In a blog post about native backup support in RDS for SQL Server, Amazon’s Jeff Barr explained how this feature makes RDS more attractive to SQL Server DBAs.
Native backups require three things to work: an Amazon S3 bucket to store backup files, an AWS “role” to access the S3 bucket, and a reference to “SQLSERVER_BACKUP_RESTORE” in the RDS instance configuration, called an option group, for SQL Server. The coupling with Amazon S3 gives users a durable off-box storage option, and according to AWS, makes coordination with on-premises databases possible.
RDS for SQL Server provides full database backups, not incremental, and these backups can be encrypted through integration with the AWS Key Management Service.
Native backups use the standard SQL Server .bak file. AWS says that .bak files are “heavily optimized” and represent the “fastest way to backup and restore databases.” They called out a series of usage scenarios for native backup and restore.
Microsoft’s Azure SQL Database offering doesn’t yet offer this feature, and Ozar hopes that Amazon’s progress with SQL Server will force Microsoft to quickly catch up. In his blog post, Ozar spells out specific use cases for native backup and restore.
There is no additional charge for this RDS feature, although users will incur the regular charges for using Amazon S3 storage. AWS made this feature available for any edition of SQL Server supported on RDS, and works with both single availability zone or multi availability zone deployment options. As to limitations, AWS doesn’t let users back up a database larger than 1 TB, or restore a database larger than 4 TB. Users also can’t restore a backup to the instance that created it. Backups can only be restored to a brand new database instance.