Condividi tramite


Procedura: Configurazione del rilevamento di conflitti per la replica transazionale peer-to-peer (programmazione Transact-SQL della replica)

La replica peer-to-peer include l'opzione che consente di abilitare il rilevamento dei conflitti in una topologia. Per ulteriori informazioni, vedere Rilevamento dei conflitti nella replica peer-to-peer.

Per utilizzare il rilevamento dei conflitti, è necessario che in tutti i nodi sia in esecuzione SQL Server 2008 o versione successiva. Il rilevamento deve inoltre essere abilitato per tutti i nodi. È possibile abilitare rilevamento dei conflitti durante o dopo la configurazione di una topologia. Per abilitare il rilevamento dei conflitti per una topologia esistente, non è necessario disattivare la topologia. Se tuttavia si verificano modifiche in conflitto prima che tutti i nodi siano abilitati, la replica non è in grado di garantire il rilevamento di tali conflitti. Per ulteriori informazioni sulla configurazione di una topologia, vedere Procedura: Configurazione della replica transazionale peer-to-peer (programmazione Transact-SQL della replica).

[!NOTA]

Quando si configura la replica peer-to-peer, viene specificato un ID per ogni nodo. Tale ID, che deve essere univoco in tutti i nodi nella topologia, viene archiviato nella colonna originator_id della tabella di sistema MSpeer_originatorid_history. Se un nodo viene rimosso dalla topologia, l'ID viene comunque conservato nella tabella della cronologia per impedire falsi conflitti, qualora siano presenti modifiche provenienti dal nodo rimosso che continuano ad essere replicate nella topologia. Se si desidera riutilizzare l'ID per un nuovo nodo, è necessario prima eliminarlo manualmente dalla tabella MSpeer_originatorid_history in tutti i nodi. Prima di eliminare un ID per un nodo, eseguire sp_requestpeerresponse per verificare che tutte le modifiche provenienti dal nodo siano state replicate.

Per abilitare il rilevamento dei conflitti durante la configurazione della topologia

  • Quando si crea una pubblicazione in ogni nodo utilizzando sp_addpublication:

    • Specificare il valore true per @p2p\_conflictdetection.

    • Specificare un numero intero positivo diverso da zero per @p2p\_originator\_id. L'ID non deve essere mai stato utilizzato nella topologia. Per un elenco di ID che sono già stati utilizzati, eseguire sp_help_peerconflictdetection.

    • Specificare un valore per @p2p\_continue\_onconflict. Si consiglia di specificare il valore false. Per ulteriori informazioni, vedere la sezione relativa alla gestione dei conflitti in Rilevamento dei conflitti nella replica peer-to-peer.

Per abilitare il rilevamento dei conflitti dopo la configurazione della topologia

  1. Questi passaggi presuppongono una topologia costituita da tre nodi: A, B e C. Nel nodo A eseguire sp_configure_peerconflictdetection:

    • Specificare il nome della pubblicazione per @publication e il valore enable per @action.

    • Specificare un numero intero positivo diverso da zero per @p2p\_originator\_id. L'ID non deve essere mai stato utilizzato nella topologia. Per un elenco di ID che sono già stati utilizzati, eseguire sp_help_peerconflictdetection.

    • Specificare un valore per @continue\_onconflict. Si consiglia di specificare il valore false. Per ulteriori informazioni, vedere la sezione relativa alla gestione dei conflitti in Rilevamento dei conflitti nella replica peer-to-peer.

  2. Ripetere il passaggio 1 per il nodo B e il nodo C.

  3. Eseguire sp_help_peerconflictdetection da uno dei nodi. Specificare il nome della pubblicazione per @publication. Controllare il set di risultati per assicurarsi che il rilevamento dei conflitti sia abilitato in tutti i nodi e che ognuno abbia un valore di ID origine univoco.

Per disabilitare il rilevamento dei conflitti