This monitor checks the online or offline state of Availability Group. The monitor is in unhealthy state and alert is raised when the Availability Group’s cluster resource is offline or the Availability Group does not have a primary replica. The monitor state is healthy when the cluster resource of Availability Group is online and the Availability Group has a primary replica. This monitor is an aggregate (rollup) monitor.
This monitor checks the online or offline state of Availability Group. The monitor is unhealthy and alert is raised when the Availability Group’s cluster resource is offline or the Availability Group does not have a primary replica. The monitor state is healthy when the cluster resource of Availability Group is online and the Availability Group has a primary replica.
The Availability Group is offline, and is unavailable. This issue can be caused by a failure in the server instance that hosts the primary replica or by the WSFC Availability Group resource going offline.
The Availability Group is not configured with the automatic failover mode and the primary replica become unavailable and the role of all replicas in the Availability Group become RESOLVING.
Primary replica instance service is down or unresponsive.
The Availability Group has a connectivity issue with the cluster.
The Availability Group is configured with the automatic failover mode and the automatic failover is not completed successfully due to error.
During the automatic failover, the primary readiness check on the target replica fails and there is no replica to become a new primary.
The Availability Group resource in the cluster becomes offline.
If any dependent cluster resource encounters a critical issue and becomes offline, the Availability Group resource is offline until the dependent resource is online.
A critical issue in the cluster turns off the Availability Group resource.
There is automatic, manual or forced failover in progress for the Availability Group.
If the SQL Server instance of primary replica is down, you can restart and check whether the Availability Group recovers to healthy state.
If the automatic failover appears to be failed, you can check if a replica has all databases synchronized with the previously known primary then failover to the replica. Otherwise, select a replica with minimum loss of data, recover to failover or forced failover.
If the resource in the cluster is offline while SQL Server instances appear to be healthy, you can check the cluster health or any issue using Cluster Manager. You can attempt to turn the Availability Group resource online using the cluster manager tool.
If there is a failover in progress, wait for the completion.
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. | Yes |
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. | Worst state of any member |
Target | Microsoft.SQLServer.Core.AvailabilityGroup | ||
Parent Monitor | System.Health.AvailabilityState | ||
Algorithm | WorstOf | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
|
<AggregateMonitor ID="Microsoft.SQLServer.Core.Rollup.AvailabilityGroup.AvailabilityGroupOnline" Accessibility="Public" Enabled="true" Target="Microsoft.SQLServer.Core.AvailabilityGroup" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Core.Rollup.AvailabilityGroup.AvailabilityGroupOnline.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="Microsoft.SQLServer.Core.AvailabilityGroup"]/ClusterName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="Microsoft.SQLServer.Core.AvailabilityGroup"]/PrimaryReplicaServerName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>