Mergeabonnement abgelaufen – Änderungen müssen hochgeladen werden

Wenn das Abonnement einer Mergeveröffentlichung abläuft und Sie Änderungen vom Abonnenten auf den Verleger hochladen möchten, müssen Sie dies manuell vornehmen.

Erklärung

Bei der Mergereplikation wird anhand der Beibehaltungsdauer der Veröffentlichung (@retention-Parameter und @retention_period_unit von sp_addmergepublication (Transact-SQL)) bestimmt, wann das Abonnement abläuft.Die Replikation löscht nach Ablauf der Beibehaltungsdauer die Metadaten in der Veröffentlichung und in den Abonnementdatenbanken. Weitere Informationen finden Sie unter Abonnementablauf und -deaktivierung. Änderungen aus einem abgelaufenen Abonnement können nicht hochgeladen werden, weil die Metadaten, die sich auf die Zeilen auf dem Abonnenten beziehen, auf dem Verleger nicht mehr vorhanden sind.

Benutzeraktion

So laden Sie Änderungen auf den Verleger hoch:

  1. Bestimmen Sie mithilfe des Dienstprogramms tablediff, welche Zeilen auf dem Verleger und dem Abonnenten nicht identisch sind. Informationen zum Verwenden dieses Dienstprogramms bei replizierten Tabellen finden Sie unter Vorgehensweise: Überprüfen replizierter Tabellen auf Unterschiede (Replikationsprogrammierung).

  2. Laden Sie die Änderungen vom Abonnenten hoch. Dies kann entweder manuell oder mithilfe einer der folgenden Methoden erfolgen:

    • Erstellen Sie das Abonnement neu, und geben Sie dabei an, dass der Snapshot auf dem Abonnenten nicht angewendet werden soll. Weitere Informationen finden Sie unter Initialisieren eines Mergeabonnements ohne Momentaufnahme. Führen Sie nach dem Erstellen des Abonnements ein Pseudoupdate für alle Zeilen aus, die auf den Verleger hochgeladen werden sollen. Dieses Pseudoupdate kann manuell erfolgen, wie z. B. mit:

      UPDATE Sales.SalesOrderHeader SET RevisionNumber = RevisionNumber WHERE SalesOrderID > 4100

      Stattdessen können Sie auch für jede Zeile sp_mergedummyupdate ausführen. Weitere Informationen finden Sie unter sp_mergedummyupdate (Transact-SQL).

    • Generieren Sie mithilfe des Dienstprogramms tablediff ein Transact-SQL-Skript, mit dem die Daten in Übereinstimmung gebracht werden. Weitere Informationen finden Sie unter tablediff (Dienstprogramm). Das Transact-SQL-Skript überschreibt alle nicht übereinstimmenden Daten auf dem Ziel (in diesem Fall dem Verleger). Diese Option sollte daher nur verwendet werden, wenn das Hochladen von Daten vom Abonnenten Vorrang vor dem Beibehalten von Daten auf dem Verleger hat.

Siehe auch

Konzepte