Always On Availability Groups

Always On Availability Groups (AGs) is a high-availability and disaster-recovery solution that provides an enterprise-level alternative to database mirroring. Availability Groups enable you to run multiple databases on a primary server (the primary replica) and maintain multiple synchronized copies of those databases on secondary servers (the secondary replicas).

Key Concepts

Benefits

Architecture

An Availability Group consists of a primary replica and one to eight secondary replicas. Replicas can be configured for synchronous or asynchronous data movement.

Replica Modes

Failover Modes

Configuring Availability Groups

The configuration of Availability Groups involves several steps:

  1. Ensure your SQL Server instances are properly configured for WSFC.
  2. Create a new Availability Group in SQL Server Management Studio (SSMS) or using Transact-SQL.
  3. Add databases to the Availability Group.
  4. Configure primary and secondary replicas, including replica modes and failover settings.
  5. Create an Availability Group Listener for client connectivity.

Further Reading

Example Transact-SQL Snippet


CREATE AVAILABILITY GROUP MyAG
WITH (
    AUTOMATED_BACKUP_PREFERENCE = SECONDARY,
    DB_FAILOVER = ON
)
FOR REPLICA ON
    'Server01' WITH (
        ENDPOINT_URL = 'TCP://Server01.example.com:5022',
        AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
        ROLE = PRIMARY
    ),
    'Server02' WITH (
        ENDPOINT_URL = 'TCP://Server02.example.com:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        ROLE = SECONDARY
    );