Prozentsatz der abgelaufenen Abonnements

Microsoft.SQLServer.Replication.Windows.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 Beibehaltungsdauer muss ggf. angepasst werden, um eine längere Zeitspanne zwischen Abonnentensynchronisierungen zu ermöglichen. Beachten Sie: Wenn Sie diesen Wert vergrößern, wächst die Menge der beibehaltenen Replikationsdaten an und kann sich negativ auf die Replikationsleistung auswirken.

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 Warnungen

Definiert, ob der Workflow eine Warnung generiert.

Ja

Intervall (Sekunden)

Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an.

300

Synchronisierungszeit

Synchronisierungszeit

 

Timeout (Sekunden)

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

200

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

Warnungsschwellenwert

Warnungsschwellenwert

0

Element properties:

TargetMicrosoft.SQLServer.Replication.Windows.Distributor
Parent MonitorSystem.Health.ConfigurationState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Replication.Windows.MonitorType.DistributorPercentOfExpiredSubscriptions
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL unter Windows-Replikation: Auf dem 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.Core.RunAs.Monitoring

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.PercentOfExpiredSubscriptions" Accessibility="Public" Enabled="true" Target="SQLReplWD!Microsoft.SQLServer.Replication.Windows.Distributor" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Replication.Windows.MonitorType.DistributorPercentOfExpiredSubscriptions" ConfirmDelivery="false" RunAs="SqlCoreLib!Microsoft.SQLServer.Core.RunAs.Monitoring">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Replication.Windows.Monitor.DistributorPercentOfExpiredSubscriptions.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/ConnectionString$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='DistributorPercentOfExpiredSubscriptions']$</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>
<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>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<ConnectionString>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<WarningThreshold>0</WarningThreshold>
<ErrorThreshold>10</ErrorThreshold>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>200</TimeoutSeconds>
</Configuration>
</UnitMonitor>