Freigeben über


Erneutes Initialisieren eines Abonnements

Beim erneuten Initialisieren eines Abonnements wird ein neuer Snapshot auf einen oder mehrere Artikel auf einem oder mehreren Abonnenten angewendet, wobei bei der Transaktions- und der Snapshotreplikation das erneute Initialisieren einzelner Artikel möglich ist, während bei der Mergereplikation alle Artikel erneut initialisiert werden müssen. Knoten in einer Peer-to-Peer-Transaktionsreplikationstopologie können nicht erneut initialisiert werden. Wenn Sie sicherstellen müssen, dass ein Knoten eine neue Kopie der Daten besitzt, stellen Sie an diesem Knoten eine Sicherung 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 der neueste Snapshot angewendet. Bei der Snapshot- und Transaktionsreplikation werden während der Neuinitialisierung alle auf dem Abonnenten vorgenommenen Änderungen, die noch nicht mit dem Verleger synchronisiert wurden, durch Anwenden des neuen Snapshots überschrieben.

Bei der Mergereplikation können Sie festlegen, ob vor der Anwendung des Snapshots alle Datenänderungen vom Abonnenten hochgeladen werden. Alle ausstehenden Schemaänderungen vom Verleger werden auf den Abonnenten angewendet. Anschließend werden alle Aktualisierungen auf dem Abonnenten seit der letzten Synchronisierung an den Verleger weitergeleitet, 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 Vorgehensweise: Erneutes Initialisieren eines Abonnements (Replikationsprogrammierung mit Transact-SQL). 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.

Wichtiger HinweisWichtig

Wenn Sie einen parametrisierten Filter in einer Mergereplikation hinzufügen, löschen oder ändern, können die ausstehenden Änderungen auf dem Abonnenten während der erneuten Initialisierung nicht auf den Verleger hochgeladen werden. Wenn Sie ausstehende Änderungen hochladen möchten, synchronisieren Sie alle Abonnements, bevor Sie den Filter ändern.

Wenn Sie beim Erstellen des Abonnements angegeben haben, dass kein Anfangssnapshot auf den Abonnenten angewendet werden soll, und Sie dann dieses Abonnement für eine erneute Initialisierung kennzeichnen, wird kein Snapshot angewendet. Weitere Informationen finden Sie unter Initialisieren eines Transaktionsabonnements ohne Snapshot und Initialisieren eines Mergeabonnements 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). Wenn nur bestimmte Artikel in einer Snapshot- oder Transaktionsveröffentlichung erneut initialisiert werden sollen, müssen Sie dazu gespeicherte Prozeduren verwenden.