This wiki has been retired. For the latest information on running SQL Server on Azure Virtual machine, see this link:
We'll use this wiki to communicate best practices you should consider when provisioning and deploying SQL Server in a Azure Virtual Machine.
Azure Virtual Machine was designed to support a broad range of SQL Server workloads. As with any preview, you should start testing small workloads first and measure throughput and performance. Move on to test more demanding workloads as you gain confidence
in the performance, reliability and availability of the service. Consider these guidelines when evaluating which workloads to test. Run some performance tests (seePredeployment
I/O Best Practices) to help you compare baseline performance of virtual machines running in Windows Azure Virtual Machine to other platforms.
Big thanks to
Sandino Di Mattia for writing these up!
A SQL Server VM in Windows Azure can be added as a replica to an on-premise
AlwaysOn Availability Group. This enables a disaster recovery solution for an on-premise SQL Server. If the on-premise SQL Server fails, you can failover the Availability Group to the SQL Server VM replica. In addition, you can configure the
SQL Server VM as readable, to offload read workloads and backups.
The steps involved are:
Please note the following caveats with regards to application connectivity:
SQL Server in Windows Azure Virtual Machine Early Adoption Cook Book (en-US)
I have tried to use the failover partner from my app running in Azure Web Sites - I had to open two ports/endpoints 14001 and 14002 in azure so my app could connect to my SQL Cluster running on my VM roles. The problem is once my client connects to the primary it works but I suspect it is receiving a different failover partner as SQL knows nothing about those azure endpoint ports and is sending a different failover partner. It also means my primary and failover server names only differ by port and reading: blogs.msdn.com/.../running-sql-server-default-instance-on-a-non-default-or-non-standard-tcp-port-tips-for-making-application-connectivity-work.aspx -- at the bottom is mentioned this is not going to work.