可用性组自动故障转移

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

Knowledge Base article:

摘要

此监视器检查可用性组是否至少具有一个故障转移就绪的辅助副本。当主副本的故障转移模式为自动但是可用性组中没有任何辅助副本处于自动故障转移就绪状态时,此监视器处于不正常状态并引发警报。当至少一个辅助副本处于自动故障转移就绪状态时,此监视器处于正常状态。

原因

可用性组未准备好进行自动故障转移。将主副本配置为自动故障转移,但是辅助副本未准备好进行自动故障转移。为自动故障转移配置的辅助副本可能不可用或其数据同步状态当前不是 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
可用性组未准备好进行自动故障转移
可用性组 {0} 未准备好进行自动故障转移,尽管该可用性组配置为自动进行故障转移

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>
<AlertParameter2>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroup"]/ClusterName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroup"]/PrimaryReplicaServerName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Warning</MemberUnAvailable>
</DependencyMonitor>