可用性群組為線上
此監視器會查看可用性群組為線上或離線狀態。當可用性群組的叢集資源為離線,或可用性群組沒有主要複本時,監視器會是狀況不良的狀態並引發警示。當可用性群組的叢集資源為線上,且可用性群組有主要複本時,監視器便會是狀況良好的狀態。
可用性群組已離線,而且無法使用。此問題可能是裝載主要複本的伺服器執行個體失敗,或 WSFC 可用性群組資源離線所致。
可用性群組未設定自動容錯移轉模式,致使主要複本無法使用,進行導致可性群組中所有複本的角色都變成「正在解析」。
主要複本執行個體服務已關閉或無回應。
可用性群組與叢集之間發生連線問題。
可用性群組已設定了自動容錯移轉模式,但因為發生錯誤,導致自動容錯移轉無法順利完成。
自動容錯移轉期間對目標複本的主要整備檢查失敗,而且沒有複本可以成為新的主要複本。
叢集中的可用性群組資源轉為離線。
當任何相依的叢集資源發生嚴重問題時,其本身與可用性群組資源皆會轉為離線,直到相依的資源重新上線運作為止。
叢集發生嚴重問題,導致可用性群組資源關閉。
可用性群組正在進行自動、手動或強制的容錯移轉。
若主要複本的 SQL Server 執行個體已關閉,可以重新啟動並且檢查可用性群組是否復原為狀況良好的狀態。
若自動容錯移轉失敗,可以檢查複本中所有的資料庫是否已和已知的舊版主要複本進行同步,然後再容錯移轉到該複本。否則,請選取資料遺失最少的複本,然後復原為容錯移轉或強制容錯移轉。
若叢集中的資源在 SQL Server 執行個體狀況良好時離線,可使用叢集管理員檢查叢集健康狀態或任何問題。您可以使用叢集管理員工具,嘗試將可用性群組資源切換成線上。
若正在進行容錯移轉,請等候作業完成。
名稱 | 描述 | 預設值 |
已啟用 | 啟用或停用該工作流程。 | 是 |
產生警示 | 定義工作流程是否要產生警示。 | 否 |
間隔 (秒) | 每次重複執行工作流程之間的時間間隔 (秒)。 | 900 |
同步處理時間 | 同步處理時間使用 24 小時制。可予省略。 |
|
逾時 (秒) | 指定流程被關閉及標示為失敗之前,允許執行的時間。 | 300 |
資料庫連線的逾時 (秒) | 若工作流程無法在指定的期限之內存取資料庫,將會失敗並登錄一則事件。 | 15 |
Target | Microsoft.SQLServer.Windows.AvailabilityGroupHealth |
Parent Monitor | System.Health.AvailabilityState |
Category | AvailabilityHealth |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | True |
Monitor Type | Microsoft.SQLServer.Windows.MonitorType.AlwaysOnSystemPolicy |
Remotable | True |
Accessibility | Public |
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.AvailabilityGroupHealth.AvailabilityGroupOnline" Accessibility="Public" Enabled="true" Target="SqlDiscW!Microsoft.SQLServer.Windows.AvailabilityGroupHealth" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.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>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<PolicyName>AlwaysOnAgOnlineStateHealthPolicy</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>