Partilhar via


Como especificar o controle de conflito e o nível de resolução para artigos de mesclagem (Programação Transact-SQL de replicação)

Quando uma assinatura em uma publicação de mesclagem é sincronizada, a replicação verifica os conflitos causados pelas alterações nos mesmos dados feitos no Publicador e no Assinante. Especifique se os conflitos serão detectados no nível da linha, onde todas as alterações de linha são consideradas conflito, ou no nível da coluna, onde apenas as alterações da mesma linha e da coluna são consideradas conflito. A resolução de conflitos para artigos é realizada no nível da linha. Para obter mais informações sobre detecção e resolução de conflito quando registros lógicos forem usados, consulte Detectando e resolvendo conflitos em registros lógicos. Especifique programaticamente como serão rastreados os conflitos durante a criação de artigos e após a definição de um artigo.

Para especificar as opções de controle de conflito para um novo artigo de mesclagem

  • No Publicador do banco de dados de publicação, execute sp_addmergearticle e especifique um dos seguintes valores para @column_tracking:

    • true - Use controle no nível da coluna para o artigo.

    • false - Use controle no nível da linha, que é o padrão.

Para alterar as opções de rastreamento de conflito para um novo artigo de mesclagem

  1. Para determinar as opções de rastreamento de conflito para um artigo de mesclagem, execute sp_helpmergearticle. Observe o valor da opção column_tracking no conjunto de resultados do artigo. Um valor de 1 significa que o controle no nível da coluna está em uso, e o valor de 0 significa que o controle no nível da linha está em uso.

  2. No Publicador do banco de dados de publicação, execute sp_changemergearticle. Especifique um valor de column_tracking para @property e um dos valores a seguir para @value:

    • true - Use controle no nível da coluna para o artigo.

    • false - Use controle no nível da linha, que é o padrão.

    Especifique um valor de 1 para ambos @force_invalidate_snapshot e @force_reinit_subscription.