가용성 그룹 자동 장애 조치(Failover)

Microsoft.SQLServer.2012.AlwaysOn.AutomaticFailoverReadinessRollup (DependencyMonitor)

Knowledge Base article:

요약

이 모니터는 가용성 그룹에 장애 조치(Failover)가 준비된 보조 복제본이 하나 이상 있는지 확인합니다. 주 복제본의 장애 조치(Failover) 모드가 자동이지만 가용성 그룹에 자동 장애 조치가 준비된 보조 복제본이 하나도 없는 경우 이 모니터는 비정상 상태이며 경고가 발생합니다. 자동 장애 조치(Failover)가 준비된 보조 복제본이 적어도 하나 있으면 모니터는 정상 상태입니다.

원인

가용성 그룹에 대해 자동 장애 조치(Failover)가 준비되지 않았습니다. 주 복제본은 자동 장애 조치(Failover)를 사용하도록 구성되어 있지만 보조 복제본은 자동 장애 조치(Failover)를 사용하도록 구성되어 있지 않습니다. 자동 장애 조치(Failover)를 사용하도록 구성된 보조 복제본을 사용할 수 없거나 해당 데이터 동기화 상태가 현재 SYNCHRONIZED가 아닙니다.

해결 방법

Element properties:

TargetMicrosoft.SQLServer.2012.AlwaysOn.AvailabilityGroup
Parent MonitorSystem.Health.AvailabilityState
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.2012.AlwaysOn.AutomaticFailoverReadiness
RelationshipMicrosoft.SQLServer.2012.AlwaysOn.AvailabilityGroupReferencesAvailabilityGroupHealth
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic
Alert Message
가용성 그룹에 대해 자동 장애 조치(Failover)가 준비되지 않음
가용성 그룹 {0}이(가) 자동으로 장애 조치되도록 구성되어 있지만 가용성 그룹에 대해 자동 장애 조치(Failover)가 준비되지 않았습니다.

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2012.AlwaysOn.AutomaticFailoverReadinessRollup" Accessibility="Public" Enabled="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroup" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupReferencesAvailabilityGroupHealth" MemberMonitor="Microsoft.SQLServer.2012.AlwaysOn.AutomaticFailoverReadiness">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.AlwaysOn.AutomaticFailoverReadinessAlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Warning</MemberUnAvailable>
</DependencyMonitor>