Q:

Failover Azure VM running SQL Server?

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!

A:

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. 

