SQL Server AlwaysOn in "Denali"

Author by Nathan Lasnoski

SQL Server AlwaysOn is a high availability solution built into SQL Server "Denali", which takes database mirroring to the next level.  It validates the direction of database mirroring and builds on the technology decisions that led us in that direction.  It includes all the key benefits on database mirroring, such as:
  • Full compatibility with virtualization
  • No single point of failure, as it doesn't use shared storage
  • Built-in replication vs. third party product (one line of support)
  • Effective to manage, as it is integrated with the UI and has management packs within SCOM
  In addition to the core features from mirroring, SQL Server AlwaysOn adds many new capabilities and ease of use.  It brings high availability in SQL to a similar level of management and ease to that found in Exchange 2010 Database Availability Groups.  Here are the key changes in SQL Server AlwaysOn:
  • Failover Clustering:  SQL Server AlwaysOn places the mirroring of databases within a Windows Failover Cluster, with a single logical name used when applications connect to the application.  The use of the logical name abstracts the connection to the client, preventing the application from having to be aware of the multiple SQL servers behind the AlwaysOn topology.
  • Ease of configuration:  The SQL Server AlwaysOn configuration will automatically stage the mirror targets for you, or allow the reconnection of existing targets. 
  • Multiple targets (secondaries):  The SQL Server AlwaysOn configuration supports multiple targets.  You can have a synchronous mirror in the main site, with a secondary mirror using asynchronous mirroring.   This type of configuration aligns with what I'm seeing enterprises desiring, which is to have an HA datacenter, with a failover site.
  • Multi-database failover, as well as failover options:  SQL Server AlwaysOn supports the failover of multiple databases at the same time in groups.  This is a huge step forward, as it addresses manageability challenges that existed in database mirroring.   The failover capabilities also support automatic, manual, and forced failover options. 
  • Better scalability and consistency:  SQL Server AlwaysOn addresses threading issues that existed in database mirroring.  These issues required enhanced configuration of the mirroring servers.  In the case of AlwaysOn, some of those configuration challenges have been addressed out of box.  It also includes a capability called "Automatic Page Repair" which should help with resiliency of the replicated data, as corrupt pages can be retrieved from the mirror.
  • Replacement of witness with quorum:  The witness server gets replaced with quorum functions within the database cluster.
  • AlwaysOn dashboard:  The SQL Server AlwaysOn environment comes with a great dashboard which provides an overview of the current AlwaysOn status.
  Here are some additional great resources on AlwaysOn technologies: SQL Server AlwaysOn Overview: http://www.microsoft.com/sqlserver/2008/en/us/high-availability.aspx Migrating SQL Server Mirroring to an Availability Group: http://blogs.msdn.com/b/sqlalwayson/archive/2011/01/18/understanding-alwayson-availability-group.aspx SQL Server AlwaysOn with Hyper-V: http://blogs.technet.com/b/andrew/archive/2011/05/10/sql-server-alwayson-in-a-virtual-world.aspx It should be noted that SQL Server 2008 R2 can be upgraded in-place to SQL Server "Denali" and then converted to AlwaysOn. . This will absolutely be a great step forward for SQL high availability features.  It is also super-consistent with what we've been planning with database mirroring, which is great for companies who have invested in that direction. Nathan Lasnoski

Nathan Lasnoski

Chief Technology Officer