Prozentsatz der abgelaufenen Abonnements

Microsoft.SQLServer.2014.Replication.Monitor.PercentOfExpiredSubscriptions (UnitMonitor)

Der Prozentsatz der abgelaufenen Abonnements des Monitors.

Knowledge Base article:

Zusammenfassung

Misst den Prozentsatz der abgelaufenen Abonnements.

Der Monitor unterstützt keine Mergereplikation.

Ursachen

Ein Abonnement läuft ab, wenn es nicht innerhalb der angegebenen Beibehaltungsdauer synchronisiert wurde.

Wenn ein Abonnement nicht innerhalb der angegebenen Beibehaltungsdauer synchronisiert wurde, läuft es bei Verwendung der Transaktionsreplikation ab und wird vom Cleanupauftrag für abgelaufene Abonnements gelöscht, der auf dem Verleger ausgeführt wird.

Lösungen

Für Transaktionsreplikation muss das Abonnement erneut erstellt und synchronisiert werden. Wenn ein Pushabonnement abläuft, wird es vollständig entfernt. Bei Pullabonnements ist dies nicht der Fall. Pullabonnements müssen auf dem Abonnenten bereinigt werden.

Die Aufbewahrungsdauer muss ggf. angepasst werden, um eine längere Zeitspanne zwischen Abonnentensynchronisierungen zu ermöglichen. Wenn Sie diesen Wert vergrößern, wächst die Menge der beibehaltenen Replikationsdaten an und wirkt sich potenziell negativ auf die Replikationsleistung aus.

Extern

Weitere Informationen zum Verwalten des Abonnementablaufs finden Sie hier:

http://technet.microsoft.com/library/ms151188.aspx

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

Fehler

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Fehlerschwellenwert

Fehlerschwellenwert

10

Generiert Benachrichtigungen.

Definiert, ob der Workflow eine Warnung generiert.

Ja

Intervall (Sekunden)

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

300

Synchronisierungszeit

Synchronisierungszeit

 

Timeout (Sekunden)

Gibt die Zeit an, die der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlgeschlagen markiert wird.

300

Timeout für Datenbankverbindung (Sekunden)

Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann.

15

Schwellenwert für Warnung

Schwellenwert für Warnung

0

Element properties:

TargetMicrosoft.SQLServer.2014.Replication.Distributor
Parent MonitorSystem.Health.ConfigurationState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.Replication.MonitorType.DistributorPercentOfDeactivatedSubscriptions
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL2014-Replikation: Für den Verteiler wurde ein hoher Prozentsatz abgelaufener Abonnements ermittelt.
Der Verteiler (Name: "{0}", Server: "{1}") hat einen hoher Prozentsatz abgelaufener Abonnements ermittelt.
Prozent abgelaufene Abonnements: {2}\%
Abonnements:
{3}
RunAsMicrosoft.SQLServer.Replication.Monitoring.RunAs.Monitor

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.Replication.Monitor.PercentOfExpiredSubscriptions" Accessibility="Public" Enabled="true" Target="MS2RD!Microsoft.SQLServer.2014.Replication.Distributor" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.Replication.MonitorType.DistributorPercentOfDeactivatedSubscriptions" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Replication.Monitor.DistributorPercentOfExpiredSubscriptions.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/ConnectionString$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='DistributorPercentOfDeactivatedSubscriptions']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='Message']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Health" MonitorTypeStateID="Health" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<SqlTimeout>15</SqlTimeout>
<ConnectionString>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/ConnectionString$</ConnectionString>
<MeasuredStateId>0</MeasuredStateId>
<WarningThreshold>0</WarningThreshold>
<ErrorThreshold>10</ErrorThreshold>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>