Availability Database Backup Status (Linux rollup)

Microsoft.SQLServer.Linux.Rollup.AvailabilityDatabase.BackupStatus (DependencyMonitor)

The monitor checks availability of a full database backup and its age as reported by Microsoft SQL Server. This monitor is a dependency (rollup) monitor.

Knowledge Base article:

Summary

This monitor checks the existence and age of a database backup as reported by Microsoft SQL Server. This is done by running a query against the master database of the SQL instance and returning the age of the database backup. By default, the monitor does not track the 'Availability Group Backup Preferences'. If this overdrive is enabled, the monitor will track the backup location configured in the backup preferences of the availability group and will verify whether the backup on the selected replica is in compliance with the backup frequency setting.

See the Backup Preferences article for more details.

Note that due to the Availability Group database backup specifics, the alerting for this rollup monitor is disabled by default and it is not recommended to enable it. The actual health state of the availability database backup shows the "Availability Database Backup Status (rollup)", which has the 'Best state of any member' health rollup policy option.

See the Availability Database rollup monitors alerts article for more details.

Causes

Availability Database has not been backed up for too long.

Resolutions

You should perform a backup of one of the availability database replicas to resolve the issue.

To eliminate this issue in future it is recommended to schedule an automated backup according to the needs of the application and business requirements.

Overridable Parameters

Name

Description

Default Value

Alert Priority

Defines Alert Priority.

Normal

Alert Severity

Defines Alert Severity.

Error

Enabled

Enables or disables the workflow.

Yes

Generates Alerts

Defines whether the workflow generates an Alert.

No

Rollup Algorithm

Defines the health state of the dependency rollup monitor to reflect either the least healthy state or the most healthy state of any member.

Best state of any member

Element properties:

TargetMicrosoft.SQLServer.Core.AvailabilityDatabase
Parent MonitorMicrosoft.SQLServer.Core.Rollup.AvailabilityDatabase.BackupStatusAggregate
AlgorithmBestOf
Source MonitorMicrosoft.SQLServer.Linux.Monitor.AvailabilityDatabaseHealth.BackupStatus
RelationshipMicrosoft.SQLServer.Linux.AvailabilityDatabaseReferencesAvailabilityDatabaseHealth
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
RemotableTrue
AccessibilityPublic

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.Linux.Rollup.AvailabilityDatabase.BackupStatus" Accessibility="Public" Enabled="true" Target="SqlCoreLib!Microsoft.SQLServer.Core.AvailabilityDatabase" ParentMonitorID="SqlCoreLib!Microsoft.SQLServer.Core.Rollup.AvailabilityDatabase.BackupStatusAggregate" Remotable="true" Priority="Normal" RelationshipType="SqlDiscL!Microsoft.SQLServer.Linux.AvailabilityDatabaseReferencesAvailabilityDatabaseHealth" MemberMonitor="Microsoft.SQLServer.Linux.Monitor.AvailabilityDatabaseHealth.BackupStatus">
<Category>AvailabilityHealth</Category>
<Algorithm>BestOf</Algorithm>
<MemberUnAvailable>Warning</MemberUnAvailable>
</DependencyMonitor>