Vorgehensweise: Angeben der interaktiven Konfliktlösung für Mergeveröffentlichungen (Replikationsprogrammierung mit Transact-SQL)
In der MicrosoftSQL Server-Replikation steht ein interaktiver Konfliktlöser zur Verfügung, mit dem Sie Konflikte bei einer bedarfsgesteuerten Synchronisierung in der Synchronisierungsverwaltung von Microsoft Windows manuell lösen können. Sie können programmgesteuert angeben, dass ein Abonnent diese grafische Benutzeroberfläche zur Auflösung von Artikelkonflikten verwendet, wenn ein Pullabonnement für eine Mergeveröffentlichung erstellt wird. Im interaktiven Konfliktlöser werden nur Konflikte in Artikeln, die diese Option unterstützen, angezeigt. Für die interaktive Konfliktlösung ist die Synchronisierungsverwaltung von Windows erforderlich. Wenn die Synchronisierung nicht im Rahmen der Synchronisierungsverwaltung von Windows erfolgt (sondern als geplante Synchronisierung oder als bedarfsgesteuerte Synchronisierung in SQL Server Management Studio oder im Replikationsmonitor), werden Konflikte ohne Benutzereingriff automatisch entsprechend der Standardkonfliktlösung gelöst, die für den Artikel angegeben ist. Weitere Informationen finden Sie unter Interaktive Konfliktlösung.
So erstellen Sie ein Mergepullabonnement, das den interaktiven Konfliktlöser verwendet
Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_helpmergearticle unter Angabe von @publication aus. Betrachten Sie den Wert von allow_interactive_resolver für jeden Artikel im Resultset, für das der interaktive Konfliktlöser verwendet wird.
Wenn dieser Wert 1 lautet, wird der Interaktive Konfliktlöser verwendet.
Wenn dieser Wert 0 lautet, müssen Sie zuerst den interaktiven Konfliktlöser für jeden Artikel aktivieren. Hierzu führen Sie sp_changemergearticle unter Angabe von @publication, @article, dem Wert allow_interactive_resolver für @property und dem Wert true für @value an.
Führen Sie auf dem Abonnenten für die Abonnementdatenbank sp_addmergepullsubscription aus. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen eines Pullabonnements (Replikationsprogrammierung mit Transact-SQL).
Führen Sie auf dem Abonnenten für die Abonnentendatenbank sp_addmergepullsubscription_agent aus, und geben Sie die folgenden Parameter an:
@publisher, @publisher_db (die veröffentlichte Datenbank) und @publication.
Den Wert true für @enabled_for_syncmgr.
Den Wert true für @use_interactive_resolver.
Die für den Merge-Agent erforderlichen Sicherheitskontoinformationen. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen eines Pullabonnements (Replikationsprogrammierung mit Transact-SQL).
Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergesubscription aus.
So definieren Sie einen Artikel, der den interaktiven Konfliktlöser unterstützt
- Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergearticle aus. Geben Sie den Namen der Veröffentlichung, zu der der Artikel gehört, für @publication, den Namen des Artikels für @article, das Datenbankobjekt, das veröffentlicht wird, für @source_object und den Wert true für @allow_interactive_resolver an. Weitere Informationen finden Sie unter Vorgehensweise: Definieren eines Artikels (Replikationsprogrammierung mit Transact-SQL).