I have been watching some of the SQL 2014 courses over at Microsoft Virtual Academy. The first video of the "Platform for Hybrid Cloud with SQL Server 2014 Jump Start" series talks about "Backup to Cloud". Now, if you're like me, you treat "The Cloud" with suspicion, especially when it comes to SQL Server. How can you guarantee performance? How do you keep your data safe? Doesn't it cost an arm and a leg?
But the idea of backing up your databases to an offsite location is still a compelling case, because you have to plan for the worst case. If a fire could destroy your company's office, your data will go up in smoke too, and there goes your livelihood. Many companies use the very manual method of a staged backup (backup to share, then back up the share to a tape) which you then take offsite. But tapes wear out, people forget to do it, or someone stores the tapes next to a magnet... then you're back in the same boat.
A better, automated way, would be to use a service that will consistently back up your databases in a way that makes it easy to retreive the data if needed.
Full disclosure, I work for a tech company that offers this kind of service. We call it "Cloud DataSafe", which backs up entire servers, files and databases. Click here if you want to know more.
In SQL Server 2012, as of Cumulative Update 4 (for Service Pack 1), you can now "Back up to URL" in addition to specifying a tape drive and a file share location. The URL is, of course, an HTTPS endpoint for the Azure Blob Storage cloud. Currently, you have to use TSQL or PowerShell to provision the storage, set credentials, specify a container in the cloud, and then trigger the backup. All scriptable, of course.
The Azure Blob Storage subscription seems pretty reasonable: you get 5GB free per month, with $.050 per each additional gigabyte. For a small business this might be just about right.
When SQL 2014 is released, this Backup to URL capability will be available in the GUI.
But what if you aren't using SQL 2012 or 2014? Well, Microsoft has a free tool called "SQL Server Backup to Azure Tool", which installs itself as a service. The way it works is, you back up your databases to a file path, and the tool will automatically grab the backups, compress them, encrypt them, and stream them up to Azure.
If you wanted, you could just compress/encrypt and then save them back to your file system.
Another interesting feature is the Managed Backup capability: this is where you set up a plan to back up to URL. The job only runs when data has actually changed, thus simplifying backups and restores. This is essential for a cloud backup, where you might otherwise be streaming gigabytes every day. So rather than having these regimented backups (e.g. Daily full + Houly transaction logs), the backup only runs if transactions have occurred. Similarly the restore process simply selects the backup set, and gives you a timeline view to choose your restore point.
If you'd like to learn more (and why wouldn't you?) then you should check out these free SQL 2014 courses at MVA: