Como solucionar corretamente os conflitos de falsos replicação de mesclagem

12

Temos a instalação da replicação de mesclagem do SQL Server 2008 R2.

Ultimamente, comecei a ter conflitos em algumas tabelas e, quando verifico o visualizador de conflitos, vejo que os valores da coluna vencedor e perdedor são idênticos!

Tenho certeza de que esses dados estão sendo inseridos por apenas um assinante.

Eu costumava sp_showrowreplicainfoobter mais detalhes sobre a linha conflitante e obtive duas linhas: uma para o Publicador e outra para o assinante, com as duas linhas tendo a "versão" como 1.

Também implementei o método de Brandon: Auditando alterações na replicação de mesclagem , mas estava mostrando apenas uma inserção normal!

Você poderia me dizer como começar a solucionar esse tipo de conflito?

Adel Khayata
fonte

Respostas:

1

Encontrei uma resposta sólida para sua pergunta aqui em Administradores de banco de dados de Brandon Williams :

Como solucionar problemas de conflito de replicação de mesclagem do SQL Server?

Brandon disse:

Você precisa inspecionar o Visualizador de conflitos e observar os tipos de conflito e os valores de linha conflitantes. Algo a ser observado é que a coluna Vencedor do Conflito exibirá os valores das linhas vencedoras que são extraídos das tabelas base. Se você pensar bem, esses valores são voláteis e podem mudar; portanto, os valores que você vê na coluna Vencedor de conflitos podem não ser os valores que eram quando o conflito ocorreu, lembre-se disso. A coluna Perdedor de Conflito exibirá os valores da linha perdida extraídos da tabela MSmerge_conflict_publication_article e esses valores são estáticos.

Se você não conseguir determinar a causa raiz dos conflitos com base no Visualizador de conflitos, pode ser necessário implementar um esquema de auditoria. Forneci um exemplo de como fazer isso na auditoria de alterações na replicação de mesclagem .

Há uma pequena chance de você estar tendo conflitos falsos, mas a auditoria deve revelar se esse é o caso.

Jim Ziegmann
fonte