In this blog post, I am going to talk about a product named “Enzo backup for SQL Azure (Beta)” launched by a company called “bluesyntax”. As of now, SQL Azure does not have the inherent capability to carry our Backup and restore. There does exist a TSQL Copy command that let’s you create a replica of your SQL Azure database – But the conventional Backup and restore functionality is not yet added and it sure will be added as product evolves. But for now, we have some great third party tools like “Enzo backup for SQL Azure” that equip us to carry out backup and restore of a SQL Azure database. Also, The importance of the “Backup and restore” feature for SQL Azure can be gauged from the fact that it is the most voted feature on My great windows Azure site.
You may find the overview of the product at http://www.bluesyntax.net/backup.aspx, In this blog post, I will show a step by step process to backup a SQL Azure database to Azure blobs by deploying an Enzo agent and later restoring the database; wait..what is Enzo agent? This innovative feature of “Enzo backup for SQL Azure” enables us to deploy an Enzo Agent on the cloud (in the form of worker role) – the benefit? well, as per my tests, it reduces the time to backup/restore by 8x and plus it removes the data transfer cost that is applicable when we move data out of SQL Azure server (Assumption: the agent and the SQL Azure database is in the same database). Enzo Agent is very easy to upload but remember that the charge to run the Azure compute role is applicable. So weigh the Data transfer cost vs Cost to run agent (worker role) before starting the backup process.
You can download the product from http://bluesyntax.net/files/EnzoBackupInstall.zip and install it, and after successful installation open it. The remaining part of the blog post is the step by step guide to backup a SQL Azure database to Azure blobs with an Enzo agent (deployed on Azure).
1. Let’s upload the Enzo agent first. You will find a folder ‘AzureEnzoAgent’ which is to be deployed on Azure
2. you will have to edit the configuration file. you will have to add the storage account name and key.
Optionally, increase the instances count. FYI: Minimum 2 instances of a role is required to satisfy Azure SLA requirements.
3. After doing it, you are good to go. Fire up the browser and open the Azure management portal (https://windows.azure.com/ ) and deploy the Enzo agent.
See a deployed Azure Enzo Agent:
4. Now open the software. you will be asked to fill the Azure storage account name and key:
FYI: To get an Azure account key of a Azure account, view the ‘primary access key’ from the properties pane (on the extreme right side) in the Azure management portal.
5. This is the starting page of the product:
6. Now to backup the SQL Azure database to Azure blobs–> Operations | Backup | To Azure blobs
7. Now, fill in the details of the SQL Azure database:
8. Now, go to advanced tab and check the “Use the worker role to perform the operation”
9. Now click on “start” button.
After successful backup process, you will see in the Backup Management | Backups | Blob Backups , the information about our latest backup as well as past backups.
if you ran into any issue while carrying out the backup process, have a look at the log’s –> Backup Management | History | select an entry | view detailed log :
if you wish to provide feedback, have a look at the following image:
10. Now if you wish to restore a SQLAzure database from blobs –> Operation | Restore | From Azure Blobs.
Here is what the screen looks like now:
– Fill in the SQL Azure server, User ID , Password , database to restore to (you can create new database if it does not exist by checking the the check box)
– Also select the source Azure blob. To select a blob click on “….” button and select an appropriate blob:
– Also, check the “use a worker role to perform the operation” as we have deployed an Azure agent.
11. now click on ‘start’. If you have already database objects in the selected database, it will show you alert window. choose continue if you wish.
wait for the restore process to complete successfully.
You will be able to see the past and current tasks performed in the backup management | History
— the step by step guide ends —
Just a couple of points. 1) The product uses a propriety format for backing up the database and so restore process does not work with say SSMS. you will use this product for both backup and restore. 2) The use of this product with SQL server is not recommended
In the End, Just like to share the link to the Blog post about technical challenges faced by the Author, Herve Roggero, of Enzo Backup for SQL Azure : http://geekswithblogs.net/hroggero/archive/2011/06/21/backing-up-sql-azure.aspx
if you have any feedback about the product, contact info@bluesyntax