Mergeabonnement abgelaufen – Änderungen müssen geuploadet werden
Wenn das Abonnement einer Mergepublikation abläuft und Sie Änderungen vom Abonnenten auf den Verleger uploaden möchten, müssen Sie dies manuell vornehmen.
Erklärung
Bei der Mergereplikation wird anhand der Beibehaltungsdauer der Publikation (@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 Publikation und in den Abonnementdatenbanken. Weitere Informationen finden Sie unter Abonnementablauf und -deaktivierung. Änderungen aus einem abgelaufenen Abonnement können nicht geuploadet werden, weil die Metadaten, die sich auf die Zeilen auf dem Abonnenten beziehen, auf dem Verleger nicht mehr vorhanden sind.
Benutzeraktion
So uploaden Sie Änderungen auf den Verleger:
- 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 How to: Compare Replicated Tables for Differences (Replication Programming).
- Uploaden Sie die Änderungen vom Abonnenten. 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 Snapshot. Führen Sie nach dem Erstellen des Abonnements ein Pseudoupdate für alle Zeilen aus, die auf den Verleger geuploadet 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 Uploaden von Daten vom Abonnenten Vorrang vor dem Beibehalten von Daten auf dem Verleger hat.
- 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 Snapshot. Führen Sie nach dem Erstellen des Abonnements ein Pseudoupdate für alle Zeilen aus, die auf den Verleger geuploadet werden sollen. Dieses Pseudoupdate kann manuell erfolgen, wie z. B. mit:
Siehe auch
Konzepte
Problembehandlung für die Replikation