ALWAYSON AVAILABILITY GROUPS Replicas, Listeners & Quorums, Oh My! Kevin Howell SQL Saturday #517 Philadelphia, June 2016
All about me Kevin Howell 3 Kids Cubmaster & Wrestling Coach & 1 Wife 15 Years Developer & DBA Joined Microsoft® in March 2016 Email: kevin@sqlpsi.com Website: www.sqlpsi.com & 1 Wife
Agenda Basics WHY? Terminology Modes Requirements Versions Good Stuff Environment Setup Availability Group Setup Failover Demo Details, Details… 2016 Improvements Keys to Success Questions
WHY?
Why AGs? High Availability: Disaster Recovery: Minimize disruption of service via hardware solution Disaster Recovery: Ability to reestablish services after an unplanned hardware outage Shared Goal: Ensure Data Integrity is maintained
Why? Rolling Upgrades Passive Secondary Active Primary Steps Stop Synchronizing Upgrade Secondary Failover to Secondary Upgrade Primary Restart Synchronization Failover to Initial Primary Fail Over 2016 2014 2016 2014 Passive Secondary Active Primary Passive Secondary Active Primary
Windows Server Failover Cluster Terminology Windows Server Failover Cluster Instance 1 Instance 2 Window Server Failover Cluster Group of independent servers that work together to maintain availability of services Listener Virtual name to direct incoming database traffic to the primary replica or read-only secondary Availability Group Container for a set of databases that failover together Primary Replica Makes databases available for read/write connections and sends transaction logs to secondary replicas Secondary Replica Maintains a copy of availability databases. Serves as a failover target. Allows Read- Only access and Backups Availability Group Primary Replica Secondary Replica Listener
A STEp Further… SQL 2016 supports 8 secondary replicas (up to 2 synchronous commit)
Just one more step… Symmetrical Hardware, but not necessary
More terminology Quoroum – collector of votes among nodes within the Availability Group to determine if state is healthy. Majority of votes wins Witness (File Share or Disk) – needed in cases where there are an even number of nodes in Availability Group for tie-breaker
demo Quorum & Witness in Azure Lab Windows Server VM (Failover Cluster Manager)
Availability group modes Asynchronous Commit Mode: Primary commits without waiting for secondary verification of a hardened log Only Manual failovers are available with Asychronous MINIMAL TRANSACTIONAL LATENCY, POSSIBLE LOSS OF DATA Synchronous Commit Mode: Prior to transaction commit, secondary must confirm the log has been hardened Both Manual & Automatic failovers are available with Synchronous COMMITTED TRANSACTIONS ARE FULLY PROTECTED, INCREASED TRANSACTAIONAL LATENCY
Requirements Window Server 2012 (For SQL 2016) Windows Server 2008 (For SQL 2014 & 2012) SQL Server Licenses 2016 Enterprise (Full Availability Groups) 2016 Standard (Basic Availability Groups) 2014 Enterprise 2012 Enterprise Windows Server Failover Cluster
Availability group versions SQL 2016 Enterprise SQL 2016 Standard SQL 2014 SQL 2012 Secondary Replicas 8 1 4 Synchronous Secondary Replicas 2 Automatic Failover Targets 3 N/A AD Domain Required No Yes DTC Support Group Managed Service Account Direct Seeding of Replicas
Now the good stuff… DEMO Azure Marketplace – Availability Group Cluster Environment Setup Availability Group Setup/Deployment Availability Group Management SSMS
SQL 2016 Improvements Log Transport Performance Development focused on matching PCIE Class Storage Streamlined Pipeline for Data Transport to Replicas Load Balancing among Read-Only Secondaries Read traffic spread across secondaries Standard Edition Basic Availability Groups Replacement for Database Mirroring 2 node AG (Primary + 1 Secondary), 1 Database
SQL 2016 Improvements Domain Independent Availability Groups Cross Domain/No Domain Options (think consolidation) Database Level Failover Trigger (instead of Instance Level) DTC Support with Availability Groups 3 Failover Available Replicas Group Managed Service Accounts (gMSA) Direct Seeding of Replicas (no backup onto secondaries)
Keys to success Plan out your topology & failover processes Ensure infrastructure can support bandwidth for log transport Determine your geo-replication sensitivity Explore hybrid solution (on-prem/cloud) Consider Read-only secondaries for your reporting purposes
Questions?
Contact information Email: kevin@sqlpsi.com Website: www.sqlpsi.com/presentations.html
Resources http://www.tech-coffee.net/sql-server-2012-2014-alwayson-availability- group/ https://www.brentozar.com/sql/sql-server-alwayson-availability-groups/ https://channel9.msdn.com/Events/DataDriven/SQLServer2016/Always-On- Availability-Groups-Enhancements https://popbi.wordpress.com/2014/06/26/always-on-availability-groups-do-i- need-a-file-share-witness-or-no/ https://azure.microsoft.com/en-us/blog/sql-server-alwayson-cluster- template-updated-with-internal-listeners-and-optimized-performance/