Datenbankreplikat-Integritätsrichtlinie

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

Überwachung mit zwei Zuständen mit kritischem Fehlerzustand; wird insbesondere für Darstellung des Status von benutzerdefinierten Benutzerrichtlinien verwendet, die Zustand des Datenbankreplikats als Facet und eine der vordefinierten Fehlerkategorien als Richtlinienkategorie haben.

Knowledge Base article:

Zusammenfassung

Dieser Monitor überprüft das Auswertungsergebnis der Richtlinie in der SQL Server-Instanz. Der Monitor ist fehlerfrei, wenn die Richtlinie erfolgreich ausgewertet wurde. Andernfalls ist er fehlerhaft.

Lösungen

Um dieses Problem zu diagnostizieren, wenden Sie sich mit dem Richtliniennamen an den Datenbankadministrator oder den Richtlinienbesitzer. Der Richtlinienbesitzer kann die Ursache der Richtlinienausführungsauswertung bestimmen, die zu einem fehlerhaften Zustand der Überwachung führte.

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Generiert Warnungen.

Definiert, ob der Workflow eine Warnung generiert.

Nein

Intervall (Sekunden)

Das wiederkehrende Zeitintervall in Sekunden, in dem der Workflow ausgeführt wird.

900

Richtlinienname

 

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

Timeout (Sekunden)

Gibt an, wie lange der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlerhaft markiert wird.

300

Element properties:

TargetMicrosoft.SQLServer.2012.AlwaysOn.DatabaseReplicaErrorUserPolicy
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.DatabaseReplicaErrorPolicyStateMonitor" TypeID="Microsoft.SQLServer.2012.AlwaysOn.UserPolicyScriptMonitorType" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplicaErrorUserPolicy" 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.DatabaseReplica"]/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="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica"]/AvailabilityReplicaServerName$</InstanceName>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
</Configuration>
</UnitMonitor>