Author: Sanjay MishraContributors: Justin Erickson, Mike WeinerReviewers: Prem Mehra, Juergen Thomas, Steve Howard, Chuck Heinzelman, Jimmy May
SQL Server 2012 AlwaysOn provides flexible design choices for selecting an appropriate high availability and disaster recovery solution for your application. SQL Server AlwaysOn was developed for applications that require high uptime, need protection against failures within a data center (high availability) and adequate redundancy against data center failures (disaster recovery). http://msdn.microsoft.com/en-us/sqlserver/gg490638 provides an overview of high availability and disaster recovery solutions available in SQL Server 2012 AlwaysOn.
Through working with customers who are evaluating and deploying SQL Server 2012 AlwaysOn currently, we have seen the following design patterns emerge as end-to-end HA+DR solution:
We expect most of the SQL Server 2012 AlwaysOn deployments to match one of these design patterns or contain slight variations.
So, how do these three design patterns compare and contrast? This blog highlights the salient features of each of these design patterns. A detailed whitepaper on each of these will be developed and published in near future.
Multi-site Failover Cluster Instance (FCI) for HA and DR
The ability to implement a multi-site FCI as a HA and DR solution has been available in the SQL Server product for a number of previous releases, and many customers have been successfully using the solution (example: http://sqlcat.com/sqlCat/b/whitepapers/archive/2010/09/20/sql-server-high-availability-and-disaster-recovery-for-sap-deployment-at-qr-a-technical-case-study.aspx). In earlier versions of SQL Server, multi-site FCI required a stretch VLAN. SQL Server 2012 removes that requirement (along with a number of other improvements to the failover cluster instance technology) enabling multi-site FCI to be more commonly adopted as a HA and DR solution.
Multi-site FCI requires storage level replication (provided by the storage vendor) to maintain a copy of the databases at the DR site. Even though there are separate storage volumes at each site, to SQL Server, this looks like a Shared Storage solution. Other important attributes of this solution are:
The whitepaper http://sqlcat.com/sqlcat/b/whitepapers/archive/2011/12/22/sql-server-2012-alwayson_3a00_-multisite-failover-cluster-instance.aspx provides architetcure details and best practices for this solution.
Availability Group for HA and DR
Using Database Mirroring for local high availability, and combining it with Log Shipping for a disaster recovery solution is a popular deployment architecture prior to SQL Server 2012 (example: http://sqlcat.com/sqlcat/b/whitepapers/archive/2010/10/29/high-availability-and-disaster-recovery-for-microsoft-s-sap-data-tier-a-sql-server-2008-technical-case-study.aspx).
With SQL Server 2012, the Database Mirroring and Log Shipping solution can be replaced with an Availability Group solution with multiple secondaries.
This is considered a non-shared storage solution, as each SQL Server in the topology has its own copy of data and does not need to share storage. Other important attributes of this solution are:
Failover Cluster Instance for local HA and Availability Group for DR
Using Failover Cluster Instance for local high availability, and combing it with database mirroring for a disaster recovery solution is a popular deployment architecture prior to SQL Server 2012 (example: http://sqlcat.com/sqlcat/b/whitepapers/archive/2009/08/04/high-availability-and-disaster-recovery-at-serviceu-a-sql-server-2008-technical-case-study.aspx).
With SQL Server 2012, the Database Mirroring can be replaced with an Availability Group for the DR solution, while continuing to use Failover Cluster instance for local HA.
This architecture is a combined Shared Storage and Non-Shared Storage solution. Other important attributes of this solution are:
Summary
A brief outline and comparison of three common HA/DR design patterns with SQL Server 2012 AlwaysOn is provided above. A detailed document on building and deploying each of these solutions will be discussed in a whitepaper to be published soon.
Hi,
I've been reading about the updated database mirroring features in 2012 and am particularly interested in the readable mirror. Is this option possible with only 1 replica? I would also like to know if it is possible to use infiniband (and run IP over infiniband) with synchronous database mirroring in a local HA setup.
How would the user database schema update process for a mirrored setup with automatic failover?
Would I have to:
- verify that replica is synchronized
- break the mirror between replica and primary or
simply shut down the primary instance to simulate the failover to replica (and then break
the mirror between the new primary and the previous primary database)
- apply the table, procedure, view, data updates on the previous primary database
what happens next? Based on what I have read, I'm not sure it is possible to re-establish the mirror.
My main intent is to limit the amount of database downtime for schema updates as a result of application updates.
The application updates will be handled separately by doing a rolling upgrade of several application servers as each one or several are taken off of an NLB cluster.
Thanks,
Tristan