Conflitti nella replica di tipo merge avanzata - Sistemi di risoluzione basati su COMAdvanced Merge Replication Conflict - COM-Based Resolvers

Tutti i sistemi di risoluzione basati su COM inclusi in SQL ServerSQL Server gestiscono i conflitti di aggiornamento e, se specificato, i conflitti di inserimento ed eliminazione.All of the COM-based resolvers supplied with SQL ServerSQL Server handle update conflicts, and where indicated, they also handle insert and delete conflicts. Tutti i sistemi gestiscono il rilevamento a livello di colonna e la maggior parte di essi gestisce anche il rilevamento a livello di riga.They all handle column tracking; most also handle row tracking. Questi e tutti gli altri sistemi di risoluzione dei conflitti basati su COM dichiarano i tipi di conflitto che possono gestire. Per tutti gli altri tipi di conflitti l'agente di merge utilizza il sistema di risoluzione dei conflitti predefinito.These and all other COM-based resolvers declare the types of conflict they can handle, and the Merge Agent uses the default resolver for all other conflict types.

I sistemi di risoluzione dei conflitti vengono installati durante il processo di installazione di SQL ServerSQL Server.The resolvers are installed during the installation process for SQL ServerSQL Server. Eseguire la stored procedure sp_enumcustomresolvers per visualizzare tutti i sistemi di risoluzione dei conflitti registrati in un computer.Execute the sp_enumcustomresolvers stored procedure to view all the conflict resolvers registered on a computer. Questa operazione consente di visualizzare la descrizione e l'identificatore univoco globale (GUID) per ogni sistema di risoluzione dei conflitti in un set di risultati distinto.Executing the procedure displays the description and globally unique identifier (GUID) for each resolver in a separate result set.

Per specificare un sistema di risoluzione dei conflitti, vedere Specify a Merge Article Resolver.To specify a resolver, see Specify a Merge Article Resolver.

Nella tabella seguente vengono descritti gli attributi dei sistemi di risoluzione dei conflitti specifici.The following table describes the attributes of the specific resolvers.

NomeName Input richiestoRequired input DescrizioneDescription CommentiComments
Sistema di risoluzione dei conflitti aggiuntivi MicrosoftMicrosoft SQL ServerSQL Server Additive Conflict Resolver Nome della colonna da sommare.Name of the column to be summed. Il tipo di dati deve essere aritmetico, ad esempio int, smallint, numerice così via.It must have an arithmetic data type (such as int, smallint, numeric, and so on). La riga in conflitto confermata viene determinata in base al valore di priorità.Conflict winner is determined from the priority value. I valori della colonna specificati sono impostati sulla somma dei valori delle colonne di origine e di destinazione.Specified column values are set to the sum of the source and the destination column values. Se un valore è impostato su NULL, i valori della colonna verranno impostati sul valore dell'altra colonna.If one is set to NULL, they are set to the value of the other column. Supporta conflitti di aggiornamento con rilevamento solo a livello di colonna.Supports update conflicts, column tracking only.
Sistema di risoluzione dei conflitti medi MicrosoftMicrosoft SQL ServerSQL Server Averaging Conflict Resolver Nome della colonna di cui eseguire la media.Name of the column to be averaged. Il tipo di dati deve essere aritmetico, ad esempio int, smallint, numerice così via.It must have an arithmetic data type (such as int, smallint, numeric, and so on). La riga in conflitto confermata viene determinata in base al valore di priorità.Conflict winner is determined from the priority value. I valori della colonna risultanti sono impostati sulla media dei valori delle colonne di origine e di destinazione.The resulting column values are set to the average of the source and the destination column values. Se un valore è impostato su NULL, i valori della colonna verranno impostati sul valore dell'altra colonna.If one is set to NULL, they are set to the value of the other column. Supporta conflitti di aggiornamento con rilevamento solo a livello di colonna.Supports update conflicts, column tracking only.
Sistema di risoluzione dei conflitti DATETIME (prevale il meno recente) MicrosoftMicrosoft SQL ServerSQL Server DATETIME (Earlier Wins) Conflict Resolver Nome della colonna da utilizzare per determinare la riga in conflitto confermata.Name of the column to be used to determine the conflict winner. Il tipo di dati deve essere datetime .It must have a datetime data type. La colonna con il valore datetime meno recente determina la riga in conflitto confermata.Column with the earlier datetime value determines the conflict winner. Se il valore di una colonna è impostato su NULL, prevale la riga contenente l'altro valore.If one is set to NULL, the row containing the other is the winner. Supporta conflitti di aggiornamento con rilevamento a livello di riga e di colonna.Supports update conflicts, row, and column tracking. I valori delle colonne vengono confrontati direttamente e non vengono eseguite regolazioni in base a fusi orari diversi.The column values are compared directly and an adjustment is not made for different time zones.
Sistema di risoluzione dei conflitti DATETIME (prevale il più recente) MicrosoftMicrosoft SQL ServerSQL Server DATETIME (Later Wins) Conflict Resolver Nome della colonna da utilizzare per determinare la riga in conflitto confermata.Name of the column to be used to determine the conflict winner. Il tipo di dati deve essere datetime .It must have datetime data type. La colonna con il valore datetime più recente determina la riga in conflitto confermata.Column with the later datetime value determines the conflict winner. Se il valore di una colonna è impostato su NULL, prevale la riga contenente l'altro valore.If one is set to NULL, the row containing the other is the winner. Supporta conflitti di aggiornamento con rilevamento a livello di riga e di colonna.Supports update conflicts, row, and column tracking.
Sistema di risoluzione dei conflitti massimi MicrosoftMicrosoft SQL ServerSQL Server Maximum Conflict Resolver Nome della colonna da utilizzare per determinare la riga in conflitto confermata.Name of the column to be used to determine the conflict winner. Il tipo di dati deve essere aritmetico, ad esempio int, smallint, numerice così via.It must have an arithmetic data type (such as int, smallint, numeric, and so on). La colonna con il valore numerico maggiore determina la riga in conflitto confermata.Column with the larger numeric value determines the conflict winner. Se il valore di una colonna è impostato su NULL, prevale la riga contenente l'altro valore.If one is set to NULL, the row containing the other is the winner. Supporta il rilevamento a livello di riga e di colonna.Supports row and column tracking.
Sistema di risoluzione dei conflitti minimi MicrosoftMicrosoft SQL ServerSQL Server Minimum Conflict Resolver Nome della colonna da utilizzare per determinare la riga in conflitto confermata.Name of the column to be used to determine the conflict winner. Il tipo di dati deve essere aritmetico, ad esempio int, smallint, numerice così via.It must have an arithmetic data type (such as int, smallint, numeric, and so on). La colonna con il valore numerico minore determina la riga in conflitto confermata.Column with the smaller numeric value determines the conflict winner. Se il valore di una colonna è impostato su NULL, prevale la riga contenente l'altro valore.If one is set to NULL, the row containing the other is the winner. Supporta conflitti di aggiornamento con rilevamento a livello di riga e di colonna.Supports update conflicts, row and column tracking.
Sistema di risoluzione dei conflitti merge colonne di testo MicrosoftMicrosoft SQL ServerSQL Server Merge Text Conflict Resolver Nome del delimitatore e della colonna di testo, ad esempio @resolver_info = '[col1][===]'.Name of the text column and delimiter, for example, @resolver_info = '[col1][===]'. La riga in conflitto confermata viene determinata in base al valore di priorità.Conflict winner is determined from the priority value. Le colonne di testo in conflitto sono impostate su valori uniti, rappresentati da un prefisso comune seguito da una parte univoca del server di pubblicazione, quindi dal delimitatore e infine dalla parte univoca del Sottoscrittore.The text columns in conflict are set to the merged value, consisting of the common prefix followed by the unique part from the Publisher, then by the delimiter, and finally by the unique part from the Subscriber. Supporta conflitti di aggiornamento con rilevamento solo a livello di colonna.Supports update conflicts, column tracking only.
Sistema di risoluzione dei conflitti prevale sempre il Sottoscrittore MicrosoftMicrosoft SQL ServerSQL Server Subscriber Always Wins Conflict Resolver Non è richiesto alcun input.No inputs. Prevale il Sottoscrittore, indipendentemente dal fatto che sia l'origine o la destinazione.Subscriber, regardless of whether it is the source or destination, is the winner. Supporta tutti i tipi di conflitto.Supports all conflict types.
Sistema di risoluzione colonna priorità MicrosoftMicrosoft SQL ServerSQL Server Priority Column Resolver Nome della colonna da utilizzare per determinare la riga in conflitto confermata.Name of the column to be used to determine the conflict winner. Il tipo di dati deve essere aritmetico, ad esempio int, smallint, numerice così via.It must have an arithmetic data type (such as int, smallint, numeric, and so on). La colonna con il valore numerico maggiore determina la riga in conflitto confermata.Column with the larger numeric value determines the conflict winner. Se il valore di una colonna è impostato su NULL, prevale la riga contenente l'altro valore.If one is set to NULL, the row containing the other is the winner. Supporta conflitti di aggiornamento con rilevamento a livello di riga e di colonna.Supports update conflicts, row and column tracking.
Sistema di risoluzione dei conflitti solo caricamento MicrosoftMicrosoft SQL ServerSQL Server Upload Only Conflict Resolver Non è richiesto alcun input.No inputs. Le modifiche caricate nel server di pubblicazione vengono accettate. Le modifiche non vengono scaricate nel Sottoscrittore.Changes uploaded to the Publisher are accepted; changes are not downloaded to the Subscriber. Supporta tutti i tipi di conflitto.Supports all conflict types.
Sistema di risoluzione dei conflitti solo download MicrosoftMicrosoft SQL ServerSQL Server Download Only Conflict Resolver Non è richiesto alcun input.No inputs. Le modifiche caricate nel server di pubblicazione vengono rifiutate. Le modifiche vengono scaricate nel Sottoscrittore.Changes uploaded to the Publisher are rejected; changes are downloaded to the Subscriber. Supporta tutti i tipi di conflitto.Supports all conflict types.
Sistema di risoluzione delle stored procedure di MicrosoftMicrosoft SQLServer SQLServer Stored Procedure Resolver Nome della stored procedure che il sistema di risoluzione dei conflitti deve chiamare per gestire il conflitto.Name of the stored procedure the resolver should call to handle the conflict. La risoluzione del conflitto dipende dalla logica nella stored procedure specificata.Conflict resolution depends on the logic in the stored procedure you specify. Supporta i conflitti di aggiornamento.Supports update conflicts. Per altre informazioni, vedere Implementare un sistema di risoluzione dei conflitti personalizzato per un articolo di tipo mergeFor more information, see Implement a Custom Conflict Resolver for a Merge Article

Vedere ancheSee Also

Advanced Merge Replication Conflict Detection and Resolution Advanced Merge Replication Conflict Detection and Resolution
sp_enumcustomresolvers (Transact-SQL) sp_enumcustomresolvers (Transact-SQL)