Understanding Backup Preferences for Always on Availability Group Databases

SQL Server backups are resource intensive operation that strain on I/O and CPU(with backup compression).Always On Availability Group(AOAG) has a mechanism to offload SQL Server Backups and read operations from primary replica to reduce such workloads and utilize secondary replica in a better way.

1. Regular FULL BACKUPS are not allowed from secondary replicas.  But COPY_ONLY  full backups are allowed on secondary replicas. That means you cannot run regular Full backup  from any of the secondary replica.  Remember that copy-only backups do not impact the log chain or clear the differential bitmap.

2. DIFF BACKUPS(Differential backups) are not supported on secondary replicas. If you need Differential backups for your availability databases don't chose backup preference as SECONDARY ONLY

3. Only regular log backups are supported on secondary replicas. COPY_ONLY log backups are not supported on secondary replicas.

4. Secondary replica must be in SYNCHRONIZED or SYNCHRONIZING state to backup secondary database.

5. Log backup chain is supposed across all replicas regardless of where the log backup is taken(primary or secondary replicas) or the mode of the replication(asynchronous or synchronous)

6.In a distributed availability group,backups can be performed on secondary replicas in the same availability group as the active primary replica,or on the primary replica of any secondary availability groups.

Backup preference Settings:

Secondary Only: If we chose this option as backup preference then you can create jobs on only secondary replicas or if you choose to run it on primary replica then you can configure it on primary replica only

Preferred Secondary: If we choose preferred secondary then you can schedule backup jobs on all replicas(primary and secondary both)

For instance you have chosen secondary only preference  and you have 3 secondary replicas then question might arise how database engine will decide that on which replica backup should run. So database engine decides where should run backup based on preferred  backup replica settings  and backup priority setting.




Comments

Popular posts from this blog

System.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out

Pre login Handshake or Connection Timeout Period

Transparent Data Encryption(TDE) with Master Key and Certificate in SQL Server