Freigeben über


Festlegen des Ablaufdatums für Abonnements

Gilt für: SQL Server Azure SQL Managed Instance

In diesem Thema erfahren Sie, wie Sie das Ablaufdatum für Abonnements in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL festlegen. Der Ablaufzeitraum für Abonnements bestimmt den Zeitraum, bevor ein Abonnement abläuft und entfernt wird. Weitere Informationen finden Sie unter Subscription Expiration and Deactivation.

In diesem Thema

Vorbereitungen

Empfehlungen

  • Das Abonnementablaufdatum wird auch als Beibehaltungsdauerbezeichnet. Der Cleanup von Mergereplikationsmetadaten wird durch diese Einstellung bestimmt:

    • 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.

      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.

    • Es ist möglich, anzugeben, dass Abonnements nie ablaufen. Es wird jedoch nachdrücklich empfohlen, diesen Wert nicht zu verwenden, da sonst kein Cleanup der Metadaten ausgeführt werden kann.

Verwendung von SQL Server Management Studio

Geben Sie das Ablaufdatum von Abonnements im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> auf der Seite Allgemein an. Weitere Informationen zum Zugreifen auf dieses Dialogfeld finden Sie unter View and Modify Publication Properties.

So legen Sie das Ablaufdatum für Abonnements fest

  1. Geben Sie im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> auf der Seite Allgemein im Bereich Ablaufdatum für das Abonnement an, ob Abonnements ablaufen sollen.

  2. Falls dies der Fall ist, geben Sie die Dauer an, nach der Abonnements ablaufen sollen.

Verwenden von Transact-SQL

Sie können gespeicherte Replikationsprozeduren dazu verwenden, diesen Wert festzulegen, wenn eine Veröffentlichung erstellt wird, und diesen Wert zu einem späteren Zeitpunkt zu ändern.

So legen Sie den Ablaufzeitraum eines Abonnements für eine Momentaufnahme- oder eine Transaktionsveröffentlichung fest

  1. Führen Sie auf dem Verleger sp_addpublicationaus. Geben Sie den gewünschten Ablaufzeitraum für das Abonnement in Stunden für @retentionan. Der Standardablaufzeitraum beträgt 336 Stunden. Weitere Informationen finden Sie unter Create a Publication.

So legen Sie den Ablaufzeitraum eines Abonnements für eine Mergeveröffentlichung fest

  1. Führen Sie auf dem Verleger sp_addmergepublicationaus. Geben Sie den gewünschten Wert für den Ablaufzeitraum des Abonnements in Stunden für @retentionan. Geben Sie die Einheiten, in denen der Ablaufzeitraum ausgedrückt wird, für @retention_period_unitan. Es stehen die folgenden Werte zur Auswahl:

    • 1 = Woche

    • 2 = Monat

    • 3 = Jahr

    Der Standardablaufzeitraum beträgt 14 Tage. Weitere Informationen finden Sie unter Create a Publication.

So ändern Sie den Ablaufzeitraum eines Abonnements für eine Momentaufnahme- oder eine Transaktionsveröffentlichung

  1. Führen Sie auf dem Verleger sp_changepublicationaus. Geben Sie retention für @property und den neuen Abonnementablaufzeitraum in Stunden für @valuean.

So ändern Sie den Ablaufzeitraum eines Abonnements für eine Mergeveröffentlichung

  1. Führen Sie auf dem Verleger sp_helpmergepublicationaus, und geben Sie dazu @publication und @publisheran. Der Wert von retention_period_unit im Resultset ist einer der folgenden:

    • 0 = Tag

    • 1 = Woche

    • 2 = Monat

    • 3 = Jahr

  2. Führen Sie auf dem Verleger sp_changemergepublicationaus. Geben Sie retention für @property und den neuen Abonnementablaufzeitraum als Text, der auf der Einheit für die Beibehaltungsdauer aus Schritt 1 basiert, für @valuean.

  3. (Optional) Führen Sie auf dem Verleger sp_changemergepublicationaus. Geben Sie retention_period_unit für @property und eine neue Einheit für den Abonnementablaufzeitraum für @valuean.