Share via


Vorgehensweise: Angeben der Ebene für die Nachverfolgung und Lösung von Konflikten bei Mergeartikeln (Replikationsprogrammierung mit Transact-SQL)

Wenn ein Abonnement für eine Mergeveröffentlichung synchronisiert wird, prüft die Replikation auf Konflikte, die sich ergeben, wenn der Verleger und der Abonnent die gleichen Daten ändern. Sie können angeben, ob Konflikte auf Zeilenebene erkannt werden, wobei jede Änderung in der Zeile als Konflikt eingestuft wird, oder auf Spaltenebene, wobei nur die Änderungen in derselben Spalte und derselben Zeile als Konflikte eingestuft werden. Die Konfliktlösung für Artikel wird auf Zeilenebene ausgeführt. Weitere Informationen zur Konflikterkennung und -lösung bei logischen Datensätzen finden Sie unter Ermitteln und Lösen von Konflikten in logischen Datensätzen. Sie können programmgesteuert festlegen, wie Konflikte bei der Erstellung von Artikeln und nachdem ein Artikel definiert wurde nachverfolgt werden.

So geben Sie Konfliktverfolgungsoptionen für einen neuen Mergeartikel an

  • Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergearticle aus, und geben Sie einen der folgenden Werte für @column_tracking an:

    • true – Nachverfolgung auf Spaltenebene für den Artikel verwenden.

    • false – Nachverfolgung auf Zeilenebene verwenden (Standard).

So ändern Sie die Konfliktverfolgungsoptionen für einen Mergeartikel

  1. Um die Konfliktverfolgungsoptionen für einen Mergeartikel zu bestimmen, führen Sie sp_helpmergearticle aus. Achten Sie auf den Wert der column_tracking-Option im Resultset für den Artikel. Der Wert 1 bedeutet, dass die Nachverfolgung auf Spaltenebene verwendet wird, und der Wert 0 bedeutet, dass die Nachverfolgung auf Zeilenebene verwendet wird.

  2. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_changemergearticle aus. Geben Sie den Wert column_tracking für @property und einen der folgenden Werte für @value an:

    • true – Nachverfolgung auf Spaltenebene für den Artikel verwenden.

    • false – Nachverfolgung auf Zeilenebene verwenden (Standard).

    Geben Sie den Wert 1 sowohl für @force_invalidate_snapshot als auch für @force_reinit_subscription an.