AlwaysOn Availability Group and Database Mirroring

In SQL Server 2008 R2, a typical high availability deployment uses Database Mirroring to protect application databases from planned and unplanned downtime. Database Mirroring combined with log shipping and failover clustering provide a great set of features that meet the high availability requirements of mission critical applications.  

In Database Mirroring today, if the application is dependent on multiple databases then each database has to be mirrored individually. In the event one database fail over, all the dependent databases will have to failover manually or you will have to use custom events to automate the failover. Also you can have only one mirror instance using Database Mirroring.

AlwaysOn Availability Group is the new capability in SQL Server Denali that provides high availability for application databases. Availability Group provides all the benefits of Database Mirroring but also comes with a great set of new options that increases application availability and more importantly comes with Active Secondary that improves resource utilization dramatically. More on Active Secondary in another post. One of the other key benefit of AlwaysOn Availability Group is that it greatly simplifies deployment and management of high availability in your environment.

In SQL Server Denali, migrating from database mirroring to AlwaysOn Availability Group provides a number of key benefits. (The options that are available in CTP1 are bolded)

  • Multi database failover
  • Multiple secondaries
    • Max of 4 secondaries
  • Synchronous and asynchronous data movement
    • Support for 2 synchronous secondaries for additional data protection
    • NOTE: CTP1 supports only 1 secondary and only in the asynchronous mode
  • Built in compression and encryption of transport
  • Automatic, Manual and Forced Failover
  • Flexible failover policy
  • Automatic Page Repair
  • Active Secondary
    • Readable secondary
    • Secondary backup
  • Automatic application redirection using virtual name
  • Configuration Wizard for simplified deployment
  • AlwaysOn Dashboard
  • System Center Integration
  • Automation using Powershell
  • Rich diagnostic infrastructure
    • DMV, Perfmon Counter, Xevents etc

So hopefully this addresses the fundamental question that we are seeing, "Does AlwaysOn Availability Group replace Database Mirroring going forward?” The short answer is we recommend that you migrate from the mirroring configuration or even mirroring and log shipping configuration to using Availability Group. Database Mirroring will still be available in the Denali release but will be phased out over subsequent releases. Log Shipping will continue to be available in future releases.

In the next post we will outline the steps required to migrate from an existing database mirroring configuration to AlwaysOn Availability Group using the options available in CTP1.