Abonnementablauf und -deaktivierung

Gilt für:SQL ServerAzure SQL Managed Instance

Abonnements können deaktiviert werden oder ablaufen, wenn sie nicht innerhalb einer angegebenen Beibehaltungsdauersynchronisiert werden. Die stattfindende Aktion hängt vom Typ der Replikation und der überschrittenen Beibehaltungsdauer ab.

Informationen zum Festlegen von Aufbewahrungszeiträumen finden Sie unter "Festlegen des Ablaufzeitraums für Abonnements", "Festlegen des Aufbewahrungszeitraums für Verteilungen für Transaktionspublikationen (SQL Server Management Studio)" und "Konfigurieren der Veröffentlichung und Verteilung".

Transaktionsreplikation

Die Transaktionsreplikation verwendet den maximalen Verteilungsaufbewahrungszeitraum (parameter @max_distretention von sp_adddistributiondb (Transact-SQL)) und den Aufbewahrungszeitraum der Publikation (der @retention Parameter sp_addpublication (Transact-SQL)):

  • Wenn ein Abonnement nicht innerhalb des maximalen Verteileraufbewahrungszeitraums synchronisiert wird (Standardeinstellung 72 Stunden), und es Änderungen in der Verteilungsdatenbank gibt, die nicht an den Abonnenten übermittelt wurden, wird das Abonnement durch den Bereinigtauftrag "Abgelaufenes Abonnement" deaktiviert, der auf dem Verteiler ausgeführt wird. Das Abonnement muss erneut initialisiert werden.

  • Falls ein Abonnement nicht innerhalb der Beibehaltungsdauer für die Veröffentlichung (standardmäßig 336 Stunden) synchronisiert wird, läuft das Abonnement ab und wird vom Auftrag Cleanup abgelaufener Abonnements gelöscht, der auf dem Verleger ausgeführt wird. (Vor dem Fix in KB4014798, der Auftrag wurde als Distributionsbereinigung bezeichnet.) Das Abonnement muss neu erstellt und synchronisiert werden.

    Wenn ein Pushabonnement abläuft, wird es vollständig entfernt. Bei Pullabonnements ist dies nicht der Fall. Sie müssen einen Cleanup der Pullabonnements auf dem Abonnenten ausführen. Weitere Informationen finden Sie unter Delete a Pull Subscription.

Mergereplikation

Die Zusammenführungsreplikation verwendet den Aufbewahrungszeitraum der Publikation (die @retention Parameter @retention_period_unit von sp_addmergepublication (Transact-SQL)). Wenn ein Abonnement abläuft, muss es erneut initialisiert werden, da Metadaten für das Abonnement entfernt werden. Abonnements, die nicht erneut initialisiert werden, werden vom Auftrag Cleanup abgelaufener Abonnements gelöscht, der auf dem Verleger ausgeführt wird. Dieser Auftrag wird standardmäßig einmal pro Tag ausgeführt, und es werden dabei alle Pushabonnements gelöscht, die seit einem Zeitraum, der der doppelten Beibehaltungsdauer der Veröffentlichung entspricht, nicht synchronisiert wurden. Beispiel:

  • Wenn eine Veröffentlichung eine Beibehaltungsdauer von 14 Tagen aufweist, kann ein Abonnement ablaufen, wenn es nicht innerhalb von 14 Tagen synchronisiert wurde.

    Wenn der Publisher SQL Server 2005 (9.x) oder eine höhere Version ausführt und der Agent für das Abonnement von SQL Server 2005 (9.x) oder einer höheren Version stammt, läuft ein Abonnement nur ab, wenn Änderungen an den Daten in der Partition dieses Abonnements vorgenommen wurden. Nehmen wir beispielsweise an, dass ein Abonnent Kundendaten nur für Kunden in Deutschland empfängt. Falls die Beibehaltungsdauer auf 14 Tage festgelegt wurde, läuft das Abonnement nur dann am Tag 14 ab, wenn während der letzten 14 Tage Änderungen an den deutschen Kundendaten vorgenommen wurden.

  • 14 bis 27 Tage nach der letzten Synchronisierung kann das Abonnement erneut initialisiert werden.

  • 28 Tage nach der letzten Synchronisierung wird das Abonnement vom Auftrag Cleanup abgelaufener Abonnements gelöscht. Wenn ein Pushabonnement abläuft, wird es vollständig entfernt. Bei Pullabonnements ist dies nicht der Fall. Sie müssen einen Cleanup der Pullabonnements auf dem Abonnenten ausführen. Weitere Informationen finden Sie unter Delete a Pull Subscription.

Überlegungen für das Festlegen der Beibehaltungsdauer der Veröffentlichung für Mergeveröffentlichungen

Beachten Sie bei der Festlegung der Beibehaltungsdauer für Mergeveröffentlichungen Folgendes:

  • Die Beibehaltungsdauer für Mergeveröffentlichungen weist eine 24-stündige Kulanzfrist auf, um Abonnenten in unterschiedlichen Zeitzonen aufzunehmen. Wenn Sie beispielsweise eine Beibehaltungsdauer von einem Tag festgelegt haben, beträgt die tatsächliche Beibehaltungsdauer 48 Stunden.

  • Der Cleanup der Metadaten für die Mergereplikation hängt von der Beibehaltungsdauer der Veröffentlichung ab:

    • Die Replikation kann der Cleanup von Metadaten aus den Veröffentlichungs- und Abonnementdatenbanken erst ausführen, wenn das Ablaufdatum erreicht ist. Geben Sie keinen zu hohen Wert für die Beibehaltungsdauer an, da dies zu einer Beeinträchtigung der Replikationsleistung führen kann. Es wird empfohlen, eine niedrigere Einstellung zu verwenden, wenn Sie zuverlässig einschätzen können, dass alle Abonnenten innerhalb dieser Zeitspanne regelmäßig synchronisiert werden.

    • Es ist möglich anzugeben, dass die Abonnements nie ablaufen (Wert 0 für @retention), aber es wird dringend empfohlen, diesen Wert nicht zu verwenden, da Metadaten nicht bereinigt werden können.

  • Die Beibehaltungsdauer für alle Wiederveröffentlichungen muss auf einen Wert festgelegt werden, der gleich oder niedriger ist als die auf dem ursprünglichen Verleger festgelegte Beibehaltungsdauer. Verwenden Sie zudem dieselben Beibehaltungsdauerwerte für Veröffentlichungen für alle Verleger und ihre alternativen Synchronisierungspartner. Das Verwenden unterschiedlicher Werte kann zu mangelnder Konvergenz der Daten führen. Wenn Sie die Beibehaltungsdauer der Veröffentlichung ändern müssen, sollten Sie den Abonnenten erneut initialisieren, um sicherzustellen, dass die Daten konvergieren.

  • Wenn die Beibehaltungsdauer der Veröffentlichung nach einem Cleanup erhöht wird und für ein Abonnement ein Mergevorgang mit dem Verleger versucht wird (auf dem die Metadaten bereits gelöscht wurden), dann läuft das Abonnement nicht ab, weil die Beibehaltungsdauer erhöht wurde. Allerdings verfügt der Verleger nicht über ausreichende Metadaten zum Herunterladen der Änderungen auf den Abonnenten. Dies führt zu mangelnder Konvergenz der Daten.

Weitere Informationen

Erneutes Initialisieren von Abonnements
Verwaltung des Replikations-Agents
Abonnieren von Veröffentlichungen