Condividi tramite


MSmerge_conflicts_info (Transact-SQL)

La tabella MSmerge_conflicts_info tiene traccia dei conflitti che si verificano durante la sincronizzazione di una sottoscrizione a una pubblicazione di tipo merge. I dati sui conflitti relativi alla riga non confermata vengono archiviati nella tabella MSmerge_conflict_publication_article relativa all'articolo in cui si è verificato il conflitto. Questa tabella è archiviata nel database di pubblicazione del server di pubblicazione e nel database di sottoscrizione del Sottoscrittore.

Nome colonna

Tipo di dati

Descrizione

tablenick

int

Nome alternativo della tabella pubblicata.

rowguid

uniqueidentifier

Identificatore della riga in conflitto.

origin_datasource

nvarchar(255)

Nome del database in cui ha avuto origine la modifica in conflitto.

conflict_type

int

Tipo di conflitto che si è verificato. I possibili valori sono i seguenti.

1 = Conflitto aggiornamento: il conflitto viene rilevato a livello di riga.

2 = Conflitto aggiornamento colonna: il conflitto viene rilevato a livello di colonna.

3 = Conflitto aggiornamento/eliminazione con esecuzione dell'eliminazione: l'eliminazione prevale.

4 = Conflitto aggiornamento/eliminazione con esecuzione dell'aggiornamento: il valore rowguid eliminato della riga non prioritaria viene registrato nella tabella.

5 = Inserimento di caricamento non riuscito: l'inserimento del Sottoscrittore non può essere applicato nel server di pubblicazione.

6 = Inserimento di download non riuscito: l'inserimento del server di pubblicazione non può essere applicato nel Sottoscrittore.

7 = Eliminazione di caricamento non riuscita: non è possibile caricare l'eliminazione dal Sottoscrittore al server di pubblicazione.

8 = Eliminazione di download non riuscita: non è possibile scaricare l'eliminazione dal server di pubblicazione al Sottoscrittore.

9 = Aggiornamento di caricamento non riuscito: non è possibile applicare l'aggiornamento nel Sottoscrittore al server di pubblicazione.

10 = Aggiornamento di download non riuscito: non è possibile applicare l'aggiornamento nel server di pubblicazione al Sottoscrittore.

11 = Risoluzione

12 = Conflitto aggiornamento/eliminazione di record logici con esecuzione dell'aggiornamento: il record logico eliminato non prioritario viene registrato nella tabella.

13 = Conflitto aggiornamento/inserimento di record logici: conflitto tra l'inserimento in un record logico e un aggiornamento.

14 = Conflitto aggiornamento/eliminazione di record logici con esecuzione dell'eliminazione: il record logico aggiornato non prioritario viene registrato nella tabella.

reason_code

int

Codice di errore che può essere sensibile al contesto. In caso di conflitti aggiornamento-aggiornamento e aggiornamento-eliminazione, il valore utilizzato per questa colonna equivale a quello della colonna conflict_type. Per i conflitti di modifica non riuscita, tuttavia, il codice motivo è l'errore che ha impedito all'agente di merge l'applicazione della modifica. Se, ad esempio, l'agente di merge non può applicare un inserimento nel Sottoscrittore a causa di una violazione di chiave primaria, registra un conflict_type 6 ("inserimento di download non riuscito") e un reason_code 2627, che corrisponde al messaggio di errore interno di SQL Server per una violazione di chiave primaria, ovvero il messaggio "Violazione del vincolo %ls '%.*ls'. Impossibile inserire la chiave duplicata nell'oggetto '%.*ls'".

reason_text

nvarchar(720)

Descrizione dell'errore che può essere sensibile al contesto.

pubid

uniqueidentifier

Identificatore della pubblicazione.

MSrepl_create_time

datetime

Ora in cui si è verificato il conflitto.

origin_datasource_id

uniqueidentifier

Identificatore del database in cui ha avuto origine la modifica in conflitto.