Specifica del livello di rilevamento e risoluzione dei conflitti per gli articoli di mergeSpecify the Conflict Tracking and Resolution Level for Merge Articles

In questo argomento viene descritto come specificare il livello di rilevamento e risoluzione dei conflitti per gli articoli di merge in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to specify the conflict tracking and resolution level for merge articles in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Quando si sincronizza una sottoscrizione di una pubblicazione di tipo merge, la replica verifica la presenza di conflitti causati dalle modifiche apportate agli stessi dati nel server di pubblicazione e nel Sottoscrittore.When a subscription to a merge publication is synchronized, replication checks for conflicts caused by changes to the same data made at both the Publisher and the Subscriber. È possibile specificare se rilevare i conflitti a livello di riga, ovvero considerare un conflitto qualsiasi modifica apportata alla riga, o a livello di colonna, ovvero considerare un conflitto solo le modifiche apportate alla stessa riga e colonna.You can specify whether conflicts are detected at the row-level, where any change to the row is considered a conflict, or column-level, where only changes to the same row and column are considered a conflict. La risoluzione dei conflitti relativi agli articoli viene eseguita a livello di riga.Conflict resolution for articles is performed at the row-level. Per ulteriori informazioni sul rilevamento e sulla risoluzione dei conflitti in caso di utilizzo dei record logici, vedere Detecting and Resolving Conflicts in Logical Records.For more information about conflict detection and resolution when logical records are used, see Detecting and Resolving Conflicts in Logical Records.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

  • Se si modifica il livello di rilevamento in seguito all'inizializzazione delle sottoscrizioni, sarà necessario reinizializzarle.If you modify the tracking level after subscriptions have been initialized, those subscriptions must be reinitialized. Per altre informazioni sugli effetti delle modifiche delle proprietà, vedere Modificare le proprietà di pubblicazioni e articoli.For more information about the effects of property changes, see Change Publication and Article Properties.

  • Con il rilevamento a livello di riga e di colonna, la risoluzione dei conflitti viene sempre eseguita a livello di riga, ovvero la riga che prevale sovrascrive quella perdente.With row- and column-level tracking, conflict resolution is always performed at the row-level: the winning row overwrites the losing row. La replica di tipo merge consente inoltre di specificare che i conflitti vengano rilevati e risolti a livello di record logico. Queste opzioni tuttavia non sono disponibili in SQL Server Management StudioSQL Server Management Studio.Merge replication also allows you to specify that conflicts be tracked and resolved at the logical record level, but these options are not available from SQL Server Management StudioSQL Server Management Studio. Per informazioni sulla relativa impostazione dalle stored procedure di replica, vedere Define a Logical Record Relationship Between Merge Table Articles.For information about setting these options from replication stored procedures, see Define a Logical Record Relationship Between Merge Table Articles.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Specificare il rilevamento a livello di riga o colonna per gli articoli di merge nella scheda Proprietà della finestra di dialogo Proprietà articolo, disponibile nella Creazione guidata nuova pubblicazione e nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione>.Specify row- or column-level tracking for merge articles on the Properties tab of the Article Properties dialog box, which is available in the New Publication Wizard and the Publication Properties - <Publication> dialog box. Per altre informazioni sull'uso della creazione guidata e l'accesso alla finestra di dialogo, vedere Creare una pubblicazione e Visualizzare e modificare le proprietà della pubblicazione.For more information about using the wizard and accessing the dialog box, see Create a Publication and View and Modify Publication Properties.

Per specificare il rilevamento a livello di riga o di colonnaTo specify row- or column-level tracking

  1. Selezionare una tabella nella pagina Articoli della Creazione guidata nuova pubblicazione o nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione>.On the Articles page of the New Publication Wizard or the Publication Properties - <Publication> dialog box, select a table.

  2. Fare clic su Proprietà articolo, quindi su Imposta proprietà dell'articolo di tabella evidenziato o su Imposta proprietà di tutti gli articoli di tabelle.Click Article Properties, and then click Set Properties of Highlighted Table Article or Set Properties of All Table Articles.

  3. Nella scheda Proprietà della finestra di dialogo Proprietà articolo <Articolo> selezionare uno dei valori seguenti per la proprietà Livello rilevamento: Rilevamento a livello di riga o Rilevamento a livello di colonna.On the Properties tab of the Article Properties <Article> dialog box, select one of the following values for the Tracking level property: Row-level tracking or Column-level tracking.

  4. Se è visualizzata la finestra di dialogo Proprietà pubblicazione - <Pubblicazione> fare clic su OK per salvare e chiudere la finestra di dialogo.If you are in the Publication Properties - <Publication> dialog box, click OK to save and close the dialog box.

Utilizzo di Transact-SQL Using Transact-SQL

Per specificare le opzioni di rilevamento dei conflitti per un nuovo articolo di mergeTo specify conflict tracking options for a new merge article

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergearticle e specificare uno dei valori seguenti per @column_tracking:At the Publisher on the publication database, execute sp_addmergearticle and specify one of the following values for @column_tracking:

    • true : consente di utilizzare il rilevamento a livello di colonna per l'articolo.true - Use column-level tracking for the article.

    • false : consente di utilizzare il rilevamento a livello di riga, che corrisponde all'impostazione predefinita.false - Use row-level tracking, which is the default.

Per modificare le opzioni di rilevamento dei conflitti per un articolo di mergeTo change conflict tracking options for a merge article

  1. Per determinare le opzioni di rilevamento dei conflitti per un articolo di merge, eseguire sp_helpmergearticle.To determine the conflict tracking options for a merge article, execute sp_helpmergearticle. Notare il valore dell'opzione column_tracking nel set di risultati relativo l'articolo.Note the value of the column_tracking option in the result set for the article. Il valore 1 indica che viene utilizzato il rilevamento a livello di colonna, mentre il valore 0 indica che viene utilizzato il rilevamento a livello di riga.A value of 1 means that column-level tracking is being used, and a value of 0 means that row-level tracking is being used.

  2. Nel database di pubblicazione del server di pubblicazione eseguire sp_changemergearticle.At the Publisher on the publication database, execute sp_changemergearticle. Specificare il valore column_tracking per @property e uno dei valori seguenti per @value:Specify a value of column_tracking for @property and one of the following values for @value:

    • true : consente di utilizzare il rilevamento a livello di colonna per l'articolo.true - Use column-level tracking for the article.

    • false : consente di utilizzare il rilevamento a livello di riga, che corrisponde all'impostazione predefinita.false - Use row-level tracking, which is the default.

      Specificare il valore 1 sia per @force_invalidate_snapshot e @force_reinit_subscription.Specify a value of 1 for both @force_invalidate_snapshot and @force_reinit_subscription.

Vedere ancheSee Also

Advanced Merge Replication Conflict Detection and Resolution Advanced Merge Replication Conflict Detection and Resolution
Detecting and Resolving Conflicts in Logical Records Detecting and Resolving Conflicts in Logical Records
Define a Logical Record Relationship Between Merge Table Articles Define a Logical Record Relationship Between Merge Table Articles
Rilevare e risolvere i conflitti tra repliche di tipo merge Detect and Resolve Merge Replication Conflicts