Qual é a maneira correta de limpar completamente a configuração da replicação de mesclagem?
Tentei excluir as assinaturas, excluir a publicação e, em seguida, "Desativar publicação e distribuição" e excluir o banco de dados de distribuição e, em seguida, comecei a configurar a replicação novamente.
infelizmente, depois disso descobri que a tabela dbo.msmergesubscriptions ainda contém registros antigos sobre assinaturas antigas que eu tinha antes de 2 anos !!
Existe alguma documentação oficial sobre como limpar corretamente e totalmente a configuração da replicação de mesclagem?
De alguma forma, você está acabando com metadados de replicação órfãos após excluir as assinaturas e/ou a publicação. Isso pode acontecer ao usar a GUI para descartar assinaturas e publicações. Em vez disso, tente usar procedimentos armazenados de replicação T-SQL para excluir as assinaturas e a publicação.
Como: Excluir uma assinatura push (programação Transact-SQL de replicação)
Como: Excluir uma assinatura pull (programação Transact-SQL de replicação)
Como: Excluir uma publicação (Programação Transact-SQL de replicação)
Depois de excluir as assinaturas e a publicação, verifique se os metadados de replicação foram removidos. Caso contrário, use sp_removedbreplication para remover todos os objetos de replicação dos bancos de dados.
A replicação de mesclagem é um pouco complicada de remover em comparação com a replicação transacional.
Abaixo estão as etapas que sigo com sucesso para remover bits e peças de replicação de mesclagem obsoletos/restos:
Obtenha a lista de artigos publicados e seus acionadores existentes para referência na etapa posterior, executando a consulta abaixo no banco de dados replicado de mesclagem do editor e do assinante e armazenando o resultado em algum lugar por enquanto (ou seja, em um arquivo de texto)
Elimine a replicação de mesclagem executando o script de exclusão gerado na etapa 1 do editor.
Tanto no publicador quanto no(s) assinante(s), limpe todos os gatilhos que não foram removidos pelo script de exclusão de replicação executando o script de gatilho gerado na etapa 3.
Tanto no publicador quanto no(s) assinante(s), verifique nas tabelas
sysmergepublications
,sysmergesubscriptions
esysmergearticles
se as entradas para a replicação de mesclagem ainda existem. Em caso afirmativo , execute o seguinte script para remover as entradas de sysmergearticles e sysmergepublicationsObservação: você também pode excluir quaisquer entradas em sysmergearticles que não sejam mais referenciadas por entradas em sysmergepublictaions/sysmergesubscriptions, mas tenha muito cuidado ao fazer isso
Se não houver outra replicação de mesclagem configurada neste banco de dados, você também pode truncar as tabelas MSmerge* nos bancos de dados do publicador/assinante.
Seguir as etapas acima garantirá que a replicação MERGE seja removida de forma limpa - nenhum vestígio deixado para trás!
Observação: tenho usado o método acima em meu ambiente atual sem problemas. Mas, por favor, teste isso com antecedência ... como é óbvio .. se algo estiver errado, não culpe este site e eu :-)