Database Replica Health Policy

Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplicaWarningPolicyStateMonitor (UnitMonitor)

Two state monitor with 'Warning' critical state used particularly for reflecting state of Custom User Policies which have Database Replica State as Facet and one of the predefined warning categories as Policy Category.

Knowledge Base article:

Summary

This monitor checks the evaluation result of policy in the SQL server instance. The monitor is healthy if the policy was evaluated successfully. Otherwise it is unhealthy.

Resolutions

To diagnose this issue, contact the database administrator or the policy owner with the policy name. The policy owner can determine the root cause of the policy execution evaluation that resulted in an unhealthy state of the monitor.

Element properties:

TargetMicrosoft.SQLServer.2012.AlwaysOn.DatabaseReplicaWarningUserPolicy
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
Monitor TypeMicrosoft.SQLServer.2012.AlwaysOn.UserPolicyScriptMonitorType
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplicaWarningPolicyStateMonitor" TypeID="Microsoft.SQLServer.2012.AlwaysOn.UserPolicyScriptMonitorType" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplicaWarningUserPolicy" Priority="Normal">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="HealthState" HealthState="Success"/>
<OperationalState ID="Critical" MonitorTypeStateID="ErrorState" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<Interval>900</Interval>
<TimeoutSeconds>300</TimeoutSeconds>
<PolicyName>$Target/Host/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica"]/AvailabilityGroupName$-$Target/Host/Property[Type="System!System.Entity"]/DisplayName$-$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.Policy"]/PolicyName$</PolicyName>
<InstanceName>$Target/Host/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica"]/AvailabilityReplicaServerName$</InstanceName>
</Configuration>
</UnitMonitor>