Microsoft COM-basierte Konfliktlöser
Alle COM-basierten Konfliktlöser in SQL Server behandeln Aktualisierungskonflikte und gegebenenfalls auch Einfügungs- und Löschkonflikte.Sie alle behandeln das Protokollieren auf Spaltenebene und größtenteils auch das Protokollieren auf Zeilenebene. Diese und alle anderen COM-basierten Konfliktlöser deklarieren die Konflikttypen, die sie behandeln können; der Merge-Agent verwendet den Standardkonfliktlöser für alle anderen Konflikttypen.
Die Konfliktlöser werden während des Installationsprozesses für SQL Server installiert. Führen Sie die gespeicherte Prozedur sp_enumcustomresolvers aus, um alle auf dem Computer registrierten Konfliktlöser anzuzeigen. Durch das Ausführen der Prozedur wird die Beschreibung und der global eindeutige Bezeichner (Globally Unique Identifier, GUID) für jeden Konfliktlöser in einem separaten Resultset angezeigt.
So geben Sie einen Konfliktlöser an
SQL Server Management Studio: Vorgehensweise: Angeben eines Konfliktlösers für Mergeartikel (SQL Server Management Studio)
Replikationsprogrammierung mit Transact-SQL: Vorgehensweise: Angeben eines Konfliktlösers für Mergeartikel (Replikationsprogrammierung mit Transact-SQL)
In der folgenden Tabelle werden die Attribute der bestimmten Konfliktlöser beschrieben.
Name |
Erforderliche Eingabe |
Beschreibung |
Kommentare |
---|---|---|---|
MicrosoftSQL Server-Konfliktlöser Zusatz |
Name der zu summierenden Spalte. Sie muss einen arithmetischen Datentyp (wie z. B. int, smallint, numeric usw.) aufweisen. |
Der Gewinner des Konflikts wird anhand des priority-Wertes ermittelt. Angegebene Spaltenwerte werden auf die Summe der Quelle und der Zielspaltenwerte festgelegt. Wenn ein Wert auf NULL festgelegt ist, werden sie auf den Wert der anderen Spalte festgelegt. |
Unterstützt Aktualisierungskonflikte, nur Spaltenprotokollierung. |
MicrosoftSQL Server-Konfliktlöser Mittelwerterstellung |
Der Name der Spalte, deren Mittelwert ermittelt werden soll. Sie muss einen arithmetischen Datentyp (wie z. B. int, smallint, numeric usw.) aufweisen. |
Der Gewinner des Konflikts wird anhand des priority-Wertes ermittelt. Resultierende Spaltenwerte werden auf den Mittelwert der Quelle und der Zielspaltenwerte festgelegt. Wenn ein Wert auf NULL festgelegt ist, werden sie auf den Wert der anderen Spalte festgelegt. |
Unterstützt Aktualisierungskonflikte, nur Spaltenprotokollierung. |
MicrosoftSQL Server-Konfliktlöser DATETIME (früher gewinnt) |
Name der Spalte, die zum Bestimmen des Konfliktgewinners verwendet wird. Sie muss einen datetime-Datentyp aufweisen. |
Die Spalte mit dem früheren datetime-Wert bestimmt den Konfliktgewinner. Wenn für einen Wert NULL festgelegt ist, ist die Zeile mit dem anderen Wert der Gewinner. |
Unterstützt Aktualisierungskonflikte, Zeilen- und Spaltenprotokollierung. Die Spaltenwerte werden direkt verglichen; eine Anpassung für verschiedene Zeitzonen wird nicht vorgenommen. |
MicrosoftSQL Server-Konfliktlöser DATETIME (später gewinnt) |
Name der Spalte, die zum Bestimmen des Konfliktgewinners verwendet wird. Sie muss einen datetime-Datentyp aufweisen. |
Die Spalte mit dem späteren datetime-Wert bestimmt den Konfliktgewinner. Wenn für einen Wert NULL festgelegt ist, ist die Zeile mit dem anderen Wert der Gewinner. |
Unterstützt Aktualisierungskonflikte, Zeilen- und Spaltenprotokollierung. |
MicrosoftSQL Server-Konfliktlöser Maximum |
Name der Spalte, die zum Bestimmen des Konfliktgewinners verwendet wird. Sie muss einen arithmetischen Datentyp (wie z. B. int, smallint, numeric usw.) aufweisen. |
Die Spalte mit dem höheren nummerischen Wert bestimmt den Konfliktgewinner. Wenn für einen Wert NULL festgelegt ist, ist die Zeile mit dem anderen Wert der Gewinner. |
Unterstützt Zeilen- und Spaltenprotokollierung. |
MicrosoftSQL Server-Konfliktlöser Minimum |
Name der Spalte, die zum Bestimmen des Konfliktgewinners verwendet wird. Sie muss einen arithmetischen Datentyp (wie z. B. int, smallint, numeric usw.) aufweisen. |
Die Spalte mit dem niedrigeren nummerischen Wert bestimmt den Konfliktgewinner. Wenn für einen Wert NULL festgelegt ist, ist die Zeile mit dem anderen Wert der Gewinner. |
Unterstützt Aktualisierungskonflikte, Zeilen- und Spaltenprotokollierung. |
MicrosoftSQL Server-Konfliktlöser Textspalten zusammenführen |
Name der Textspalte und Trennzeichen, z. B. @resolver_info = '[col1][===]'. |
Der Gewinner des Konflikts wird anhand des priority-Wertes ermittelt. Konflikt verursachende Textspalten werden auf einen zusammengeführten Wert festgelegt, der aus einem gemeinsamen Präfix gefolgt von einem eindeutigen Teil des Verlegers, dem Trennzeichen und einem eindeutigen Teil des Abonnenten besteht. |
Unterstützt Aktualisierungskonflikte, nur Spaltenprotokollierung. |
MicrosoftSQL Server-Konfliktlöser Abonnent gewinnt immer |
Keine Eingaben. |
Der Abonnent ist der Gewinner, unabhängig davon, ob er Quelle oder Ziel ist. |
Unterstützt alle Konflikttypen. |
MicrosoftSQL Server-Konfliktlöser Priorität |
Name der Spalte, die zum Bestimmen des Konfliktgewinners verwendet wird. Sie muss einen arithmetischen Datentyp (wie z. B. int, smallint, numeric usw.) aufweisen. |
Die Spalte mit dem höheren nummerischen Wert bestimmt den Konfliktgewinner. Wenn für einen Wert NULL festgelegt ist, ist die Zeile mit dem anderen Wert der Gewinner. |
Unterstützt Aktualisierungskonflikte, Zeilen- und Spaltenprotokollierung. |
MicrosoftSQL Server-Konfliktlöser Nur Upload |
Keine Eingaben. |
Für den Verleger hochgeladene Änderungen werden akzeptiert; Änderungen werden nicht auf den Abonnenten heruntergeladen. |
Unterstützt alle Konflikttypen. |
MicrosoftSQL Server-Konfliktlöser Nur Download |
Keine Eingaben. |
Für den Verleger hochgeladene Änderungen werden abgelehnt; Änderungen werden auf den Abonnenten heruntergeladen. |
Unterstützt alle Konflikttypen. |
Microsoft SQLServer-Konfliktlöser Gespeicherte Prozedur |
Name der gespeicherten Prozedur, die der Konfliktlöser zur Problembehandlung aufrufen soll. |
Die Konfliktlösung hängt von der Logik in der von Ihnen angegebenen Prozedur ab. |
Aktualisierungskonflikte werden unterstützt. Weitere Informationen finden Sie unter Vorgehensweise: Implementieren eines auf gespeicherten Prozeduren basierenden benutzerdefinierten Konfliktlösers für einen Mergeartikel (Replikationsprogrammierung). |
Siehe auch