可用性组联机
此监视器检查可用性组的联机或脱机状态。当可用性组的群集资源处于脱机状态或可用性组不具有主副本时,此监视器处于不正常状态并引发警报。当可用性组的群集资源处于联机状态并且可用性组具有主副本时,此监视器处于正常状态。
该可用性组处于脱机状态并且不可用。该问题可能是由于承载主副本的服务器实例中的失败或者 WSFC 可用性组资源进入脱机状态导致的。
可用性组未配置为自动故障转移模式,并且主副本变得不可用且可用性组中所有副本的角色都变为 RESOLVING。
主副本实例服务已关闭或停止响应。
可用性组与群集的连接有问题。
可用性组配置为自动故障转移模式,但是自动故障转移由于错误未成功完成。
在自动故障转移期间,对目标副本的主副本就绪检查失败,并且没有副本可以变为新的主副本。
群集中的可用性组资源变为脱机状态。
任何依赖的群集资源遇到严重问题并变为脱机状态,并且可用性组资源处于脱机状态,直到依赖的资源变为联机状态。
群集中的严重问题导致禁用了可用性组资源。
对可用性组存在正在进行的自动、手动或强制故障转移。
如果主副本的 SQL Server 实例关闭,您可以重新启动服务器并且检查可用性组是否恢复到正常状态。
如果自动故障转移失败,您可以检查某一副本上的所有数据库是否都与以前已知的主副本同步,然后故障转移到该副本。否则,选择数据丢失最少的副本,然后恢复到故障转移或强制故障转移模式。
如果群集中的资源在 SQL Server 实例处于正常状态时脱机,您可以使用群集管理器检查群集运行状况或任何问题。您可以使用群集管理器工具尝试将可用性组资源联机。
如果正在进行故障转移,请等待故障转移完成。
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>