Vorgehensweise: Konfigurieren der Konflikterkennung für die Peer-to-Peer-Transaktionsreplikation (Replikationsprogrammierung mit Transact-SQL)

Die Peer-to-Peer-Replikation enthält die Option, die Konflikterkennung für eine gesamte Topologie zu aktivieren. Weitere Informationen finden Sie unter Konflikterkennung bei der Peer-to-Peer-Replikation.

Zur Verwendung der Konflikterkennung muss auf allen Knoten SQL Server 2008 oder eine höhere Version ausgeführt werden, und die Erkennung muss für alle Knoten aktiviert sein. Sie können die Konflikterkennung beim Konfigurieren einer Topologie oder nach dem Konfigurieren der Topologie aktivieren. Es ist nicht erforderlich, die Topologie in einen inaktiven Status zu versetzen, um die Konflikterkennung für eine vorhandene Topologie zu aktivieren. Wenn jedoch miteinander in Konflikt stehende Änderungen auftreten, bevor alle Knoten für die Konflikterkennung aktiviert wurden, kann die Replikation nicht die Erkennung dieser Konflikte garantieren. Weitere Informationen zum Konfigurieren einer Topologie finden Sie unter Vorgehensweise: Konfigurieren der Peer-to-Peer-Transaktionsreplikation (Replikationsprogrammierung mit Transact-SQL).

HinweisHinweis

Wenn Sie Peer-to-Peer-Replikation konfigurieren, geben Sie eine ID für jeden Knoten an. Diese ID muss für alle Knoten in der Topologie eindeutig sein und wird in der Spalte originator_id der Systemtabelle MSpeer_originatorid_history gespeichert. Wenn ein Knoten aus der Topologie entfernt wird, wird die ID weiterhin in der Verlaufstabelle beibehalten. Die ID wird beibehalten, um FALSE-Konflikte zu vermeiden, wenn Änderungen am entfernten Knoten weiterhin topologieübergreifend repliziert werden. Wenn Sie die ID für einen neuen Knoten wiederverwenden möchten, müssen Sie die ID endgültig aus der Tabelle MSpeer_originatorid_history für alle Knoten löschen. Bevor Sie eine ID für einen Knoten löschen, führen Sie sp_requestpeerresponse aus, um zu überprüfen, ob alle Änderungen, die vom Knoten herrühren, repliziert wurden.

So aktivieren Sie die Konflikterkennung während der Topologiekonfiguration

  • Wenn Sie mit sp_addpublication eine Veröffentlichung an jedem Knoten erstellen:

    • Geben Sie den Wert true für @p2p\_conflictdetection an.

    • Geben Sie eine positive ganze Zahl ungleich 0 (Null) für@p2p_originator_id an. Die ID darf nicht schon einmal in der Topologie verwendet worden sein. Führen Sie zum Anzeigen einer Liste der bereits verwendeten IDs sp_help_peerconflictdetection aus.

    • Geben Sie einen Wert für @p2p\_continue\_onconflict an. Es wird empfohlen, den Wert false anzugeben. Weitere Informationen finden Sie im Abschnitt "Konfliktbehandlung" unter Konflikterkennung bei der Peer-to-Peer-Replikation.

So aktivieren Sie die Konflikterkennung nach der Topologiekonfiguration

  1. Bei diesen Schritten wird davon ausgegangen, dass eine Topologie aus den drei Knoten A, B und C besteht. Führen Sie auf Knoten A sp_configure_peerconflictdetection aus:

    • Geben Sie den Veröffentlichungsnamen für @publication und den Wert enable für @action an.

    • Geben Sie eine positive ganze Zahl ungleich 0 (Null) für@p2p_originator_id an. Die ID darf nicht schon einmal in der Topologie verwendet worden sein. Führen Sie zum Anzeigen einer Liste der bereits verwendeten IDs sp_help_peerconflictdetection aus.

    • Geben Sie einen Wert für @continue\_onconflict an. Es wird empfohlen, den Wert false anzugeben. Weitere Informationen finden Sie im Abschnitt "Konfliktbehandlung" unter Konflikterkennung bei der Peer-to-Peer-Replikation.

  2. Wiederholen Sie Schritt 1 für die Knoten B und C.

  3. Führen Sie sp_help_peerconflictdetection an einem der Knoten aus, und geben Sie den Veröffentlichungsnamen für @publication an. Überprüfen Sie das Ergebnis, um sicherzustellen, dass die Konflikterkennung für alle Knoten aktiviert wurde und jeder Knoten einen eindeutigen Wert für die Absender-ID aufweist.

So deaktivieren Sie die Konflikterkennung

  • Führen Sie sp_configure_peerconflictdetection für jeden Knoten in der Topologie aus. Geben Sie den Veröffentlichungsnamen für @publication und den Wert disable für @action an.