可用性グループ自動フェールオーバー (ロールアップ)

Microsoft.SQLServer.Core.Rollup.AvailabilityGroup.AutomaticFailoverReadiness (AggregateMonitor)

このモニターは、可用性グループの中にフェールオーバーの準備ができたセカンダリ レプリカが 1 つ以上あるかどうかを調べます。モニターが異常となってアラートが登録されるのは、プライマリ レプリカのフェールオーバー モードが自動であるにもかかわらず、可用性グループの中に自動フェールオーバーの準備ができたセカンダリ レプリカが 1 つもないときです。モニターが正常となるのは、自動フェールオーバーの準備ができているセカンダリ レプリカが 1 つ以上あるときです。このモニターは集計 (ロールアップ) モニターです。

Knowledge Base article:

概要

このモニターは、可用性グループの中にフェールオーバーの準備ができたセカンダリ レプリカが 1 つ以上あるかどうかを調べます。モニターが異常となって警告が登録されるのは、プライマリ レプリカのフェールオーバー モードが自動であるにもかかわらず、可用性グループの中に自動フェールオーバーの準備ができたセカンダリ レプリカが 1 つもないときです。モニターが正常となるのは、自動フェールオーバーの準備ができているセカンダリ レプリカが 1 つ以上あるときです。

原因

可用性グループの自動フェールオーバーの準備ができていません。プライマリ レプリカは自動フェールオーバー用に構成されていますが、セカンダリ レプリカは自動フェールオーバーの準備ができていません。自動フェールオーバー用に構成されているセカンダリ レプリカが使用できないか、そのデータ同期状態が現在 SYNCHRONIZED になっていない可能性があります。

解決方法

上書き可能なパラメーター

名前

説明

既定値

アラートの優先順位

アラートの優先度を定義します。

標準

アラートの重大度

アラートの重要度を定義します。

エラー

有効

ワークフローを有効または無効にします。

はい

アラートを生成する

ワークフローがアラートを生成するかどうかを定義します。

はい

Element properties:

TargetMicrosoft.SQLServer.Core.AvailabilityGroup
Parent MonitorSystem.Health.AvailabilityState
AlgorithmWorstOf
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL: 可用性グループは自動フェールオーバーできる状態ではありません
可用性グループ {0} は、自動的にフェールオーバーするよう構成されていますが、自動フェールオーバーの準備が整っていません

Source Code:

<AggregateMonitor ID="Microsoft.SQLServer.Core.Rollup.AvailabilityGroup.AutomaticFailoverReadiness" 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.AutomaticFailoverReadiness.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>