可用性複本健全狀況原則

Microsoft.SQLServer.2012.AlwaysOn.AvailabilityReplicaErrorPolicyStateMonitor (UnitMonitor)

雙狀態監視器與「錯誤」嚴重狀態,特別用於反映具有可用性複本做為 Facet 以及其中一個預先定義錯誤類別目錄做為原則類別目錄的自訂使用者原則狀態。

Knowledge Base article:

摘要

此監視器會檢查 SQL Server 執行個體中原則的評估結果。如果原則已評估成功,監視器就會處於狀況良好的狀態。否則,它會處於狀況不良的狀態。

解決方式

若要診斷此問題,請連絡資料庫管理員或原則擁有者,並附上原則名稱。原則擁有者可以判斷導致監視器處於狀況不佳之原則執行評估的根本原因。

可覆寫的參數

名稱

描述

預設值

已啟用

啟用或停用該工作流程。

產生警示

定義工作流程是否會產生警示。

間隔 (秒)

執行工作流程的週期性時間間隔 (秒)。

900

原則名稱

 

$Target/Host/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityReplica"]/AvailabilityGroupName$-$Target/Host/Property[Type="System!System.Entity"]/DisplayName$-$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.Policy"]/PolicyName$

逾時 (秒)

指定工作流程在關閉並標記為失敗前所能執行的時間。

300

Element properties:

TargetMicrosoft.SQLServer.2012.AlwaysOn.AvailabilityReplicaErrorUserPolicy
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
Monitor TypeMicrosoft.SQLServer.2012.AlwaysOn.UserPolicyScriptMonitorType
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.AlwaysOn.AvailabilityReplicaErrorPolicyStateMonitor" TypeID="Microsoft.SQLServer.2012.AlwaysOn.UserPolicyScriptMonitorType" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityReplicaErrorUserPolicy" 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/Host/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityReplica"]/AvailabilityGroupName$-$Target/Host/Property[Type="System!System.Entity"]/DisplayName$-$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.Policy"]/PolicyName$</PolicyName>
<InstanceName>$Target/Host/Property[Type="System!System.Entity"]/DisplayName$</InstanceName>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
</Configuration>
</UnitMonitor>