SQL Backup with Azure Recovery Services

Microsoft announced a bit back that they now include SQL Backup of SQL Server installed on Azure VMs. https://azure.microsoft.com/en-us/blog/azure-backup-for-sql-server-on-azure-vm-public-preview/. This enables us to gather most (if not yet all) backup services in one tool.

Setup
First of, you will need a Recovery service vault in the same subscription as your SQL Server resides. When recovery service is in place, choose backup and there is an option “SQL Server in Azure VM”

This will prompt to run a discovery, to search for Azure virtual machines with SQL Server on it. After it finds it, it will install a small windows service AzureBackupWindowsWorkload that utilize a user (NT Service\AzureWLBackupPluginSvc) for the backup. This process takes in my experience a few minutes. If your VM was not provisioned thru Azure SQL Server image, the SQLIaaSExtension will need to be installed and add NT Service\AzureWLBackupPluginSvc as Sysadmin user on the SQL Server instance.

After discovery is completed, there will be a list with SQL Server Instances and what databases resides on the particular instance. From here, either check the top to get all database, or choose what databases that are going to be backed up.

Next step is configure the backup policy. There is a default created that will do a full/diff backup each day, and logbackup each hour. Or create a policy that match your company RPO needs. (During preview the default policy cannot be changed)

After configuration, recommended is to intial a backup, this will run an initial full backup of the databases. The progress can be tracked in Recovery service under backup jobs

Restore
A backup is only as good as its ability to be restored. Restores are intiated from Recovery service. Simply choose the database that are going to be recovered and choose Restore DB

Restores option are to overwrite current database or to restore on Alternate Location (on same SQL Server with different name or other registrered SQL Servers). Makes it handy to restore one offs when you want to test something on a database or do restore tests

If the database is in full recovery model, the possibility to restore in a specific time and date will be presented, or from latest full/diff backup. This experience is similiar what is presented in SQL Management Studio. Easy and to the point.

Lastly, a few moreoption to set in NO Recovery and the physical name and location of the .mdf and .ldf files are given. After that, review and press Restore. The restore job can be tracked under Backup jobs in Recovery services.

Summary
This functionality adds a bit in the puzzle to make the backup and recovery service more complete. The easiness of configuration and restore makes it available for a broad audience.