可用性グループ オンライン
このモニターは、可用性グループの状態がオンラインかオフラインかを調べます。モニターが異常状態となってアラートが生成されるのは、可用性グループのクラスター リソースがオフラインであるか、可用性グループにプライマリ レプリカがない場合です。モニター状態が正常となるのは、可用性グループのクラスター リソースがオンラインであり、かつ可用性グループにプライマリ レプリカがある場合です。
可用性グループはオフラインであり、使用できません。この問題は、プライマリ レプリカをホストするサーバー インスタンスのエラー、またはオフラインになっている WSFC 可用性グループ リソースによって発生する可能性があります。
可用性グループに自動フェールオーバー モードが構成されておらず、プライマリ レプリカが使用不可能で、可用性グループ内のすべてのレプリカのロールが RESOLVING になっています。
プライマリ レプリカ インスタンス サービスが停止しているか応答しません。
可用性グループのクラスターへの接続に問題があります。
可用性グループに自動フェールオーバー モードは構成されていますが、エラーのため自動フェールオーバーは正常に完了しませんでした。
自動フェールオーバー時に、ターゲット レプリカのプライマリ準備状態検査が不合格になり、新しいプライマリとなるレプリカが 1 つもありません。
クラスターの可用性グループ リソースがオフラインになりました。
従属クラスター リソースの 1 つに重大な問題が発生してオフラインになったため、その従属リソースがオンラインになるまでの間、可用性グループ リソースがオフラインになっています。
クラスターでの重要な問題により、可用性グループ リソースがオフになりました。
可用性グループの自動、手動または強制フェールオーバーが進行中です。
プライマリ レプリカの SQL サーバー インスタンスが停止している場合は、再起動して、可用性グループが正常な状態に回復したかどうかを確認します。
自動フェールオーバーに失敗したと思われる場合は、すべてのデータベースが以前の既知のプライマリと同期しているレプリカがあるかどうかを調べて、そのレプリカにフェールオーバーします。それ以外の場合は、データ損失が最小のレプリカを選択して、フェールオーバーまたは強制フェールオーバーに復旧します。
SQL サーバー インスタンスが正常であるように見えるにもかかわらずクラスター内のリソースがオフラインである場合は、クラスターのヘルスや問題の有無をクラスター マネージャーを使用して調べます。可用性グループ リソースをオンラインにするには、クラスター管理ツールを使用します。
フェールオーバーが進行中の場合は、完了するまで待ちます。
名前 | 説明 | 既定値 |
有効 | ワークフローを有効または無効にします。 | はい |
アラートの生成 | ワークフローがアラートを生成するかどうかを定義します。 | いいえ |
間隔 (秒) | ワークフローを実行する定期的な実行間隔 (秒)。 | 900 |
ポリシー名 |
| $Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupHealth"]/AvailabilityGroupName$-AlwaysOnAgOnlineStateHealthPolicy |
タイムアウト (秒) | ワークフローが終了して失敗とマークされるまでの、ワークフローの許容実行時間を指定します。 | 300 |
Target | Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupHealth |
Parent Monitor | System.Health.AvailabilityState |
Category | AvailabilityHealth |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | False |
Monitor Type | Microsoft.SQLServer.2012.AlwaysOn.SystemPolicyScriptMonitorType |
Remotable | True |
Accessibility | Public |
RunAs | Microsoft.SQLServer.2012.AlwaysOn.MonitoringAccount |
<UnitMonitor ID="Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupOnline" 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.AvailabilityGroupHealth" Priority="Normal">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="HealthState" HealthState="Success"/>
<OperationalState ID="Critical" MonitorTypeStateID="ErrorState" HealthState="Error"/>
</OperationalStates>
<Configuration>
<Interval>900</Interval>
<TimeoutSeconds>300</TimeoutSeconds>
<PolicyName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupHealth"]/AvailabilityGroupName$-AlwaysOnAgOnlineStateHealthPolicy</PolicyName>
<InstanceName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupHealth"]/InstanceName$</InstanceName>
</Configuration>
</UnitMonitor>