SQL Server Always On Availability Groups
I have already spoken about other high availability technologies like Log-Shipping, Database Mirroring, and Failover Clustering. I also spoke about Always On Availability groups briefly in the SQL 2016 new features post. Microsoft introduced SQL Server Always On Availability Groups in SQL Server 2012, which combined all the benefits of the three major High Availability techniques, i.e. Log-shipping, Mirroring & Failover Cluster.
In this post, I would talk about Always On Availability Groups in general and its benefits. Let’s have a look at what Availability Groups provide us:
- Multi-database failover vs. Per Database Failover in Mirroring.
- Multiple secondaries
–Total of 4 secondaries (2 Sync and 2 Async for 2012)
– Increased to 2 Sync and 6 Async in SQL Server 2014
–2 synchronous secondaries for both SQL 2012 and 2014
SQL Server 2014 also introduced “Add Azure Replica Wizard”
- 1 automatic failover pair
- Synchronous and asynchronous data movement (Both can co-exist unlike earlier methods)
- Built in compression and encryption (Also available in Mirroring)
- Auto-page repair (Inherited from Mirroring)
- Automatic and manual failover (new design)
- Flexible failover policy
- Application failover using virtual name using Windows Failover Clusters
- Configuration Wizard based deployment
- AlwaysOn Management Dashboard for monitoring
- System Center Integration
- Rich diagnostic infrastructure with Extended Events
- File-stream replication
- Replication publisher failover
- Active Secondary
–Backup from Secondary
–Read-Intent Queries can be offloaded to Secondary Servers.
–Improves primary server performance by offloading work to secondary
- Deployment Automation using PowerShell
Availability Groups TERMINOLOGIES
The Windows Failover clusters provide the following:
- Inter-node health detection using heartbeats.
- Distributed store for settings of Availability Groups.
- State change notifications to SQL Server.
- Failover coordination using Cluster Resource DLL (hadrres.dll)
The only negative to Always On Availability Groups is that it was an Enterprise Feature till SQL Server 2014.
With the introduction of a basic Availability Group functionality in SQL Server 2016, and deprecating Database Mirroring, this feature has become second to none as far as implementation is concerned.