Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm currently looking at hosting an SQL Server database on an Azure Virtual Machine Instance and connecting the website via two load balancing web-roles. Due to various limitations in our application architecture we can't yet go for the fully fledged Azure Database, so this is our middle ground. I just have a couple of questions on redundancy specifically with the VM and SQL Server.

Do I need to maintain two VM instances to ensure reliable failover?

If the primary VM went offline how long would the failover process take? Obviously to a degree I guess this depends on why it went offline, but is it possible to failover in seconds? or would I need to wait for the disk on the primary to be re-imaged to another node?

Any help would be much appreciated!

share|improve this question
up vote 2 down vote accepted

With Windows Azure VMs, you can't setup a 'traditional' database cluster with shared storage, because you don't have a SAN. This leaves you having to make do with the other SQL HA options — database mirroring, log shipping, and possibly (as of SQL 2012) using AlwaysOn availability groups. You can even use replication - which is more or less what SQL Azure does under the covers. How your application responds depends on the solution. Mirroring allows both databases to be in the connections string and ADO.NET handles talking to the other server for you. With log shipping your app will have to detect failure and move to another node by itself.

Research 'How to get high availability SQL Server without using a shared storage cluster', and you will get answers. You can start here on MSDN.

share|improve this answer
Thank you Simon, again very informative! – QFDev Mar 8 '13 at 17:45

Isn't it possible to do one of the following: 1) Make Azure Blob storage available to a SQL Failover cluster directly? That is effectively shared storage. Doesn't SQL Server support writing to such a shared blob storage? 2) Creating a VHD on a Azure storage based Disk on a separate VM, and exposing that as an iSCSI target to the failover instances. Although, this mode doesn't give you HA, considering that the iSCSI target is installed on a single node which itself becomes a single point of failure.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.