Availability Database Join State

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

Knowledge Base article:

Summary

This monitor checks the join state of database replica. The monitor is unhealthy state when the database replica is not joined. The monitor is healthy state otherwise.

Causes

This secondary database is not joined to the availability group. The configuration of this secondary database is incomplete.

Resolutions

Join the database replica using T-SQL, SQLPS cmdlet or SSMS UI.

Element properties:

TargetMicrosoft.SQLServer.2012.AlwaysOn.DatabaseReplica
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
Monitor TypeMicrosoft.SQLServer.2012.AlwaysOn.SystemPolicyScriptMonitorType
RemotableTrue
AccessibilityPublic
RunAsMicrosoft.SQLServer.2012.AlwaysOn.MonitoringAccount

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.AlwaysOn.DbrJoinState" RunAs="Microsoft.SQLServer.2012.AlwaysOn.MonitoringAccount" TypeID="Microsoft.SQLServer.2012.AlwaysOn.SystemPolicyScriptMonitorType" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica" 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/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica"]/AvailabilityGroupName$-$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica"]/Name$-AlwaysOnDbrJoinStatePolicy</PolicyName>
<InstanceName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica"]/AvailabilityReplicaServerName$</InstanceName>
</Configuration>
</UnitMonitor>