Der Prozentsatz der abgelaufenen Abonnements des Monitors.
Misst den Prozentsatz der abgelaufenen Abonnements.
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 von Transaktionsreplikation ab und wird vom Bereinigungsauftrag für abgelaufene Abonnements gelöscht, der auf dem Verleger ausgeführt wird.
Bei Verwendung von Mergereplikation wird die Beibehaltungsdauer durch die Parameter "@retention" und "@retention_period_unit" von "sp_addmergepublication" definiert. Ein Abonnement läuft nur ab, wenn es während der Beibehaltungsdauer nicht erfolgreich synchronisiert wurde oder Datenänderungen an der Partition des Abonnenten vorgenommen wurden.
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.
Wenn ein Mergeabonnement abläuft, werden die Metadaten für das Abonnement entfernt. Das Abonnement kann bis zum Doppelten der Beibehaltungsdauer seit der letzten erfolgreichen Synchronisierung erneut initialisiert werden. Wenn ein Wert überschritten wird, der doppelt so groß wie die Beibehaltungsdauer ist, wird das Abonnement vollständig entfernt und muss erneut erstellt und synchronisiert werden. Das Abonnement wird für Pushabonnements automatisch durch den Bereinigungsauftrag für abgelaufene Abonnements entfernt. Pullabonnements werden nicht bereinigt und müssen auf dem Abonnenten bereinigt werden.
Die Beibehaltungsdauer 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.
Weitere Informationen zum Verwalten des Abonnementablaufs finden Sie hier:
http://technet.microsoft.com/library/ms151188.aspx
Name | Beschreibung | Standardwert |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Fehlerschwellenwert | Fehlerschwellenwert | 10 |
Generiert Benachrichtigungen. | Definiert, ob der Workflow eine Benachrichtigung generiert. | Ja |
Intervall (Sekunden) | Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll. | 300 |
Timeout (Sekunden) | Timeout (Sekunden) | 300 |
Synchronisierungszeit | Synchronisierungszeit |
|
Schwellenwert für Warnung | Schwellenwert für Warnung | 0 |
Target | Microsoft.SQLServer.2014.Replication.Distributor | ||
Parent Monitor | System.Health.ConfigurationState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.Replication.MonitorType.DistributorPercentOfDeactivatedSubscriptions | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor |
<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>300</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/>
</Configuration>
</UnitMonitor>