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!


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.

| improve this answer | |

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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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