Active Secondaries: Backup on Secondary Replicas (AlwaysOn Availability Groups)

The AlwaysOn Availability Groups active secondary capabilities include support for performing backup operations on secondary replicas. Backup operations can put significant strain on I/O and CPU (with backup compression). Offloading backups to a synchronized or synchronizing secondary replica allows you to use the resources on server instance that hosts the primary replica for your tier-1 workloads.

Note

RESTORE statements are not allowed on either the primary or secondary databases of an availability group.

  • Supported Backup Types

  • Configuring Where Backup Jobs Run

  • Related Tasks

Backup Types Supported on Secondary Replicas

  • BACKUP DATABASE supports only copy-only full backups of databases, files, or filegroups when it is executed on secondary replicas. Note that copy-only backups do not impact the log chain or clear the differential bitmap.

  • Differential backups are not supported on secondary replicas.

  • BACKUP LOG supports only regular log backups (the COPY_ONLY option is not supported for log backups on secondary replicas).

    A consistent log chain is ensured across log backups taken on any of the replicas (primary or secondary), irrespective of their availability mode (synchronous-commit or asynchronous-commit).

  • To back up a secondary database, a secondary replica must be able to communicate with the primary replica and must be SYNCHRONIZED or SYNCHRONIZING.

Configuring Where Backup Jobs Run

Performing backups on a secondary replica to offload the backup workload from the primary production server is a great benefit. However, performing backups on secondary replicas introduce significant complexity to the process of determining where backup jobs should run. To address this, configure where backup jobs run as follows:

  1. Configure the availability group to specify which availability replicas where you would prefer backups to be performed. For more information, see AUTOMATED_BACKUP_PREFERENCE and BACKUP_PRIORITY parameters in CREATE AVAILABILITY GROUP (Transact-SQL) or ALTER AVAILABILITY GROUP (Transact-SQL).

  2. Create scripted backup jobs for every availability database on every server instance that hosts an availability replica that is a candidate for performing backups. For more information, see the "Follow Up: After Configuring Backup on Secondary Replicas" section of Configure Backup on Availability Replicas (SQL Server).

To configure backup on secondary replicas

To determine whether the current replica is the preferred backup replica

To create a backup job

Arrow icon used with Back to Top link[Top]

See Also

Reference

CREATE AVAILABILITY GROUP (Transact-SQL)

ALTER AVAILABILITY GROUP (Transact-SQL)

Concepts

Overview of AlwaysOn Availability Groups (SQL Server)

Copy-Only Backups (SQL Server)