可用性グループ自動フェールオーバー
このモニターは、可用性グループの中にフェールオーバーの準備ができたセカンダリ レプリカが 1 つ以上あるかどうかを調べます。モニターが異常となってアラートが生じるのは、プライマリ レプリカのフェールオーバー モードが自動であるにもかかわらず、可用性グループの中に自動フェールオーバーの準備ができたセカンダリ レプリカが 1 つもないときです。モニターが正常となるのは、自動フェールオーバーの準備ができているセカンダリ レプリカが 1 つ以上あるときです。
可用性グループの自動フェールオーバーの準備ができていません。プライマリ レプリカは自動フェールオーバー用に構成されていますが、セカンダリ レプリカは自動フェールオーバーの準備ができていません。自動フェールオーバー用に構成されているセカンダリ レプリカが使用できないか、そのデータ同期状態が現在 SYNCHRONIZED になっていない可能性があります。
自動フェールオーバーを行うように構成されたセカンダリが 1 つ以上あるかどうかを調べます。ない場合は、セカンダリ レプリカの 1 つを自動フェールオーバーのターゲットとして設定し、同期コミットを指定してください。
自動フェールオーバーのターゲット レプリカのデータ同期状態が SYNCHRONIZED になっていることをモニターで確認してから、可用性レプリカの問題を解決してください。
名前 | 説明 | 既定値 |
有効 | ワークフローを有効または無効にします。 | はい |
アラートを生成する | ワークフローがアラートを生成するかどうかを定義します。 | いいえ |
間隔 (秒) | ワークフローを実行する定期的な実行間隔 (秒)。 | 900 |
同期時刻 | 24 時間形式で指定した同期時刻。省略可能です。 |
|
タイムアウト (秒) | ワークフローが終了して失敗とマークされるまでの、ワークフローの許容実行時間を指定します。 | 300 |
データベース接続のタイムアウト (秒) | 指定された期間中にデータベースにアクセスできない場合、ワークフローは失敗し、イベントが登録されます。 | 15 |
Target | Microsoft.SQLServer.Linux.AvailabilityGroupHealth |
Parent Monitor | System.Health.AvailabilityState |
Category | AvailabilityHealth |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | True |
Monitor Type | Microsoft.SQLServer.Linux.MonitorType.AlwaysOnSystemPolicy |
Remotable | True |
Accessibility | Public |
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.AvailabilityGroupHealth.AutomaticFailoverReadiness" Accessibility="Public" Enabled="true" Target="SqlDiscL!Microsoft.SQLServer.Linux.AvailabilityGroupHealth" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Linux.MonitorType.AlwaysOnSystemPolicy" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="HealthState" HealthState="Success"/>
<OperationalState ID="Critical" MonitorTypeStateID="ErrorState" HealthState="Error"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<PolicyName>AlwaysOnAgAutomaticFailoverHealthPolicy</PolicyName>
<BagKey>1-$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.AvailabilityGroupHealth"]/AvailabilityGroupName$</BagKey>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>