Partilhar via


Como configurar a detecção de conflitos para replicação transacional ponto a ponto (Programação Transact-SQL de replicação)

A replicação ponto a ponto inclui a opção para ativar a detecção de conflito por uma topologia. Para obter mais informações, consulte Detecção de conflitos na replicação ponto a ponto.

Para usar a detecção de conflitos, todos os nós devem ser executados no SQL Server 2008 ou uma versão posterior; e a detecção deve estar habilitada para todos os nós. Você pode habilitar a detecção de conflitos quando estiver configurando uma topologia ou após a topologia ter sido configurada. Não é necessário confirmar a topologia para habilitar a detecção de conflitos para uma topologia existente. Porém, se houver alterações conflitantes antes de ter habilitado todos os nós para a detecção de conflitos, a replicação não garantirá a detecção desses conflitos. Para obter mais informações sobre como configurar uma topologia, consulte Como configurar a replicação transacional ponto a ponto (Programação Transact-SQL de replicação).

ObservaçãoObservação

Quando você configurar replicação ponto a ponto, especifique uma ID para cada nó. Esta ID, que deve ser exclusiva em todos os nós na topologia, é armazenada na coluna originator_id na tabela do sistema MSpeer_originatorid_history. Se um nó for removido da topologia, a ID ainda será mantida na tabela de histórico. A ID é mantida para impedir a ocorrência de falsos conflitos caso sejam feitas alterações do nó removido que ainda sejam replicadas na topologia. Se você quiser reutilizar a ID para um novo nó, primeiro exclua manualmente a ID da tabela MSpeer_originatorid_history em todos os nós. Antes de excluir uma ID de um nó, execute sp_requestpeerresponse para verificar se todas as alterações originadas desse nó foram replicadas.

Para habilitar a detecção de conflitos durante a configuração de topologia

  • Quando você cria uma publicação a cada nó usando sp_addpublication:

    • Especifique um valor de true para @p2p_conflictdetection.

    • Especifique um positivo, inteiro de nonzero para @ p2p_originator_id. O ID valor nunca deve ter sido usado na topologia. Para uma lista de ID que já foram usadas, execute sp_help_peerconflictdetection.

    • Especifique um valor para @ p2p_continue_onconflict. Recomendamos que você especifique um valor de false. Para obter mais informações, consulte “Tratamento de conflitos” emDetecção de conflitos na replicação ponto a ponto.

Para habilitar a detecção de conflitos após a topologia ter sido configurada

  1. Estas etapas assumem uma topologia que consiste em três nós: A, B e C. No nó A execute sp_configure_peerconflictdetection:

    • Especifique o nome de publicação para @ publicação e um valor de enable para @ ação.

    • Especifique um positivo, inteiro de nonzero para @ p2p_originator_id. O ID valor nunca deve ter sido usado na topologia. Para uma lista de ID que já foram usadas, execute sp_help_peerconflictdetection.

    • Especifique um valor para @continue_onconflict. Recomendamos que você especifique um valor de false. Para obter mais informações, consulte “Tratamento de conflitos” emDetecção de conflitos na replicação ponto a ponto.

  2. Repita a etapa 1 para os nós B e C.

  3. Execute sp_help_peerconflictdetection de um dos nós; especifique o nome de publicação para @ publicação. Verifique o conjunto de resultados para certificar-se de que todos os nós tem a detecção de conflitos habilitada e que cada um tem um valor de ID originador exclusivo.

Para desabilitar a detecção de conflitos