MSSQL 2014-Replikation: Benachrichtigungsregel "Fehler der Wartungsaufträge für den Verteiler"

Microsoft.SQLServer.2014.Replication.DistributorFailedMaintenanceJobsAlertRule (Rule)

Die Benachrichtigungsregel "Fehler der Wartungsaufträge für den Verteiler".

Knowledge Base article:

Zusammenfassung

Die Replikation verwendet die folgenden Aufträge, um geplante und bedarfsgesteuerte Wartung auszuführen.

Bereinigungsauftrag

Beschreibung

Standardzeitplan

Bereinigung des Agent-Verlaufs: Verteilung

Entfernt den Verlauf des Replikations-Agents aus der Verteilungsdatenbank.

Wird alle zehn Minuten ausgeführt.

Verteilungsbereinigung: Verteilung

Entfernt replizierte Transaktionen aus der Verteilungsdatenbank. Deaktiviert Abonnements, die nicht innerhalb des maximalen Zeitraums für Verteilungsbeibehaltung synchronisiert wurden.

Wird alle zehn Minuten ausgeführt.

Bereinigung abgelaufener Abonnements

Ermittelt und entfernt abgelaufene Abonnements aus Veröffentlichungsdatenbanken.

Wird täglich um 1:00 Uhr ausgeführt.

Abonnements mit Datenüberprüfungsfehlern erneut initialisieren

Ermittelt alle Abonnements, die Datenüberprüfungsfehler aufweisen, und markiert diese für die erneute Initialisierung. Bei der nächsten Ausführung des Merge-Agents oder Verteilungs-Agents wird eine neue Momentaufnahme bei den Abonnenten angewendet.

Kein Standardzeitplan (nicht standardmäßig aktiviert).

Überprüfung der Replikations-Agents

Ermittelt Replikations-Agents, die nicht aktiv den Verlauf protokollieren. Bei einem Fehler eines Auftragsschritts wird ein Eintrag in das Microsoft Windows-Ereignisprotokoll geschrieben.

Wird alle zehn Minuten ausgeführt.

Aktualisierung der Replikationsüberwachung für die Verteilung

Aktualisiert zwischengespeicherte Abfragen, die vom Replikationsmonitor verwendet werden.

Wird fortlaufend ausgeführt.

Ursachen

Ein Fehler der Replikationswartungsaufträge kann zahlreiche Ursachen besitzen:

Lösungen

Versuchen Sie Folgendes, um das Problem zu beheben:

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Intervall (Sekunden)

Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll.

300

Priorität

Definiert die Benachrichtigungspriorität.

2

Schweregrad

Definiert den Benachrichtigungschweregrad.

2

Timeout (Sekunden)

Timeout (Sekunden)

300

Synchronisierungszeit

Synchronisierungszeit

 

Element properties:

TargetMicrosoft.SQLServer.2014.Replication.Distributor
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
MSSQL 2014-Replikation: Fehler einiger Replikationswartungsaufträge für den Verteiler.
{0}

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.2014.Replication.DataSource.DistributorFailJobsMonitor Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor
CDMaintenanceJobsCountNotNull ConditionDetection System.ExpressionFilter Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2014.Replication.DistributorFailedMaintenanceJobsAlertRule" ConfirmDelivery="true" DiscardLevel="100" Enabled="true" Priority="Normal" Remotable="true" Target="MS2RD!Microsoft.SQLServer.2014.Replication.Distributor">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2014.Replication.DataSource.DistributorFailJobsMonitor" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<SqlTimeout>300</SqlTimeout>
<ConnectionString>$Target/Property[Type="MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor"]/ConnectionString$</ConnectionString>
<NumberOfConsecutiveFails>1</NumberOfConsecutiveFails>
<CategoryList/>
<ExcludeCategoryList>Distribution, LogReader, Merge, QueueReader, Snapshot</ExcludeCategoryList>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
</DataSource>
</DataSources>
<ConditionDetection ID="CDMaintenanceJobsCountNotNull" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Property[@Name='DistributorFailJobs']</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2014.Replication.DistributorFailedMaintenanceJobsAlertRule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Property[@Name="Message"]$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>