Erneutes Initialisieren von Abonnements

Gilt für:SQL ServerAzure SQL Managed Instance

Die Neuinitialisierung eines Abonnements erfordert das Anbringen eines neuen Snapshots eines oder mehrerer Artikel auf einen oder mehrere Abonnenten. Transaktionale und Snapshot-Replikation ermöglichen es, einzelne Artikel neu zu initialisieren. Die Merge-Replikation erfordert, dass alle Artikel neu initialisiert werden. Knoten können in einer Peer-to-Peer-Transaktionsreplikationstopologie nicht erneut initialisiert werden. Um sicherzustellen, dass ein Knoten eine neue Kopie der Daten hat, stellen Sie ein Backup am Knoten wieder her. Die Neuinitialisierung erfolgt aus einem der folgenden beiden Gründe:

  • Sie kennzeichnen explizit ein Abonnement für die Neuinitialisierung.

  • Sie führen eine Aktion, wie z. B. die Änderung einer Eigenschaft, aus, die eine Neuinitialisierung erforderlich macht. Weitere Informationen zu Aktionen, die eine Neuinitialisierung erfordern, finden Sie unter Ändern von Veröffentlichungs- und Artikeleigenschaften.

In beiden Fällen wird bei der nächsten Ausführung des Verteilungs-Agents oder des Merge-Agents auf den Abonnenten die neueste Momentaufnahme angewendet. Bei der Momentaufnahmen- und Transaktionsreplikation werden, wenn eine Neuinitialisierung erfolgt, alle am Subscriber vorgenommenen Änderungen, die noch nicht mit dem Publisher synchronisiert wurden, durch die Anwendung der neuen Momentaufnahme überschrieben.

Bei der Mergereplikation können Sie auswählen, dass alle Datenänderungen vom Abonnenten hochgeladen werden, bevor die Momentaufnahme angewendet wird. Alle ausstehenden Schemaänderungen vom Publisher werden auf den Subscriber angewendet, und anschließend werden alle Aktualisierungen, die seit der letzten Synchronisierung auf dem Subscriber vorgenommen wurden, an den Publisher übertragen, bevor der Snapshot erneut angewendet wird. Dieses Verhalten wird durch die upload_first - und automatic_reinitialization_policy -Eigenschaften gesteuert. Weitere Informationen dazu finden Sie unter Reinitialize a Subscription. Wenn Sie ein Abonnement für eine Neuinitialisierung in SQL Server Management Studio oder im Replikationsmonitor kennzeichnen, können Sie im Dialogfeld Abonnements erneut initialisieren festlegen, dass zuerst die Änderungen hochgeladen werden.

Wichtig

Wenn Sie einen parametrisierten Filter in einer Mergeveröffentlichung hinzufügen, entfernen oder ändern, können noch ausstehende Änderungen beim Subscriber während der Neuinitialisierung nicht auf den Publisher hochgeladen werden. Wenn Sie ausstehende Änderungen hochladen möchten, sollten Sie vor dem Ändern des Filters alle Abonnements synchronisieren.

Wenn du angegeben hast, dass beim Erstellen des Abonnements kein initialer Snapshot auf den Abonnenten angewendet werden darf, und du dann das Abonnement zur Neuinitialisierung markierst, wird kein Snapshot angewendet. Weitere Informationen finden Sie unter Initialisieren eines Transaktionsabonnements ohne Snapshot.

So initialisieren Sie ein Abonnement erneut

Wenn alle Artikel in einem Abonnement erneut initialisiert werden sollen, verwenden Sie SQL Server Management Studio:, gespeicherte Prozeduren oder Replikationsverwaltungsobjekte (RMO, Replication Management Objects). Um einzelne Artikel in Momentaufnahme- und Transaktionsveröffentlichungen neu zu initialisieren, müssen Sie gespeicherte Prozeduren verwenden. Weitere Informationen finden Sie unter Reinitialize a Subscription.