Sistemi di risoluzione dei conflitti basati su Microsoft COM
Tutti i sistemi di risoluzione basati su COM inclusi in Microsoft SQL Server 2005 gestiscono i conflitti di aggiornamento e, se specificato, i conflitti di inserimento ed eliminazione. Tutti i sistemi gestiscono il rilevamento a livello di colonna e la maggior parte di essi gestisce anche il rilevamento a livello di riga. 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.
I sistemi di risoluzione dei conflitti vengono installati durante il processo di installazione di SQL Server 2005. Eseguire la stored procedure sp_enumcustomresolvers per visualizzare tutti i sistemi di risoluzione dei conflitti registrati in un 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.
Per specificare un sistema di risoluzione dei conflitti
- SQL Server Management Studio: Procedura: Impostazione di un sistema di risoluzione dei conflitti dell'articolo di merge (SQL Server Management Studio)
- Programmazione della replica in Transact-SQL: How to: Specify a Merge Article Resolver (Replication Transact-SQL Programming)
Nella tabella seguente vengono descritti gli attributi dei sistemi di risoluzione dei conflitti specifici.
Nome | Input richiesto | Descrizione | Commenti |
---|---|---|---|
Microsoft Sistema di risoluzione dei conflitti aggiuntivi SQL Server |
Nome della colonna da sommare. Il tipo di dati deve essere aritmetico, ad esempio int, smallint, numeric e così via. |
La riga in conflitto confermata viene determinata in base al valore di priorità. I valori della colonna specificati sono impostati sulla somma dei valori delle colonne di origine e di destinazione. Se un valore è impostato su NULL, i valori della colonna vengono impostati sul valore dell'altra colonna. |
Supporta conflitti di aggiornamento con rilevamento solo a livello di colonna. |
Microsoft Sistema di risoluzione dei conflitti medi SQL Server |
Nome della colonna di cui eseguire la media. Il tipo di dati deve essere aritmetico, ad esempio int, smallint, numeric e così via. |
La riga in conflitto confermata viene determinata in base al valore di priorità. I valori della colonna risultanti sono impostati sulla media dei valori delle colonne di origine e di destinazione. Se un valore è impostato su NULL, i valori della colonna verranno impostati sul valore dell'altra colonna. |
Supporta conflitti di aggiornamento con rilevamento solo a livello di colonna. |
Microsoft Sistema di risoluzione dei conflitti DATETIME (prevale il meno recente) SQL Server |
Nome della colonna da utilizzare per determinare la riga in conflitto confermata. Il tipo di dati deve essere datetime. |
La colonna con il valore datetime meno recente determina la riga in conflitto confermata. Se il valore di una colonna è impostato su NULL, prevale la riga contenente l'altro valore. |
Supporta conflitti di aggiornamento con rilevamento a livello di riga e di colonna. I valori delle colonne vengono confrontati direttamente e non vengono eseguite regolazioni in base a fusi orari diversi. |
Microsoft Sistema di risoluzione dei conflitti DATETIME (prevale il più recente) SQL Server |
Nome della colonna da utilizzare per determinare la riga in conflitto confermata. Il tipo di dati deve essere datetime. |
La colonna con il valore datetime più recente determina la riga in conflitto confermata. Se il valore di una colonna è impostato su NULL, prevale la riga contenente l'altro valore. |
Supporta conflitti di aggiornamento con rilevamento a livello di riga e di colonna. |
Microsoft Sistema di risoluzione dei conflitti massimi SQL Server |
Nome della colonna da utilizzare per determinare la riga in conflitto confermata. Il tipo di dati deve essere aritmetico, ad esempio int, smallint, numeric e così via. |
La colonna con il valore numerico maggiore determina la riga in conflitto confermata. Se il valore di una colonna è impostato su NULL, prevale la riga contenente l'altro valore. |
Supporta il rilevamento a livello di riga e di colonna. |
Microsoft Sistema di risoluzione dei conflitti minimi SQL Server |
Nome della colonna da utilizzare per determinare la riga in conflitto confermata. Il tipo di dati deve essere aritmetico, ad esempio int, smallint, numeric e così via. |
La colonna con il valore numerico minore determina la riga in conflitto confermata. Se il valore di una colonna è impostato su NULL, prevale la riga contenente l'altro valore. |
Supporta conflitti di aggiornamento con rilevamento a livello di riga e di colonna. |
Microsoft Sistema di risoluzione dei conflitti merge colonne di testo SQL Server |
Nome del delimitatore e della colonna di testo, ad esempio |
La riga in conflitto confermata viene determinata in base al valore di priorità. 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. |
Supporta conflitti di aggiornamento con rilevamento solo a livello di colonna. |
Microsoft Sistema di risoluzione dei conflitti prevale sempre il Sottoscrittore SQL Server |
Non è richiesto alcun input. |
Prevale il Sottoscrittore, indipendentemente dal fatto che sia l'origine o la destinazione. |
Supporta tutti i tipi di conflitto. |
Microsoft Sistema di risoluzione colonna priorità SQL Server |
Nome della colonna da utilizzare per determinare la riga in conflitto confermata. Il tipo di dati deve essere aritmetico, ad esempio int, smallint, numeric e così via. |
La colonna con il valore numerico maggiore determina la riga in conflitto confermata. Se il valore di una colonna è impostato su NULL, prevale la riga contenente l'altro valore. |
Supporta conflitti di aggiornamento con rilevamento a livello di riga e di colonna. |
Microsoft Sistema di risoluzione dei conflitti solo caricamento SQL Server |
Non è richiesto alcun input. |
Le modifiche caricate nel server di pubblicazione vengono accettate. Le modifiche non vengono scaricate nel Sottoscrittore. |
Supporta tutti i tipi di conflitto. |
Microsoft Sistema di risoluzione dei conflitti solo download SQL Server |
Non è richiesto alcun input. |
Le modifiche caricate nel server di pubblicazione vengono rifiutate. Le modifiche vengono scaricate nel Sottoscrittore. |
Supporta tutti i tipi di conflitto. |
Sistema di risoluzione delle stored procedure di Microsoft SQLServer |
Nome della stored procedure che il sistema di risoluzione dei conflitti deve chiamare per gestire il conflitto. |
La risoluzione del conflitto dipende dalla logica nella stored procedure specificata. |
Supporta i conflitti di aggiornamento. Per ulteriori informazioni, vedere How to: Implement a Stored Procedure-Based Custom Conflict Resolver for a Merge Article (Replication Transact-SQL Programming). |
Vedere anche
Concetti
Rilevamento e risoluzione avanzati dei conflitti nella replica di tipo merge
Altre risorse
sp_enumcustomresolvers (Transact-SQL)