Usuário com melhor resposta
Restaurar Tabelas Padrões da Replicação Merge

Pergunta
-
Pessoal, Bom dia.
Estou com a seguinte situação:
Tenho um banco de dados que foi ativado a replicação Merge, onde fiquei utilizando durante algum tempo. Depois esta replicação foi desativada e continuei utilizando o mesmo banco de dados. Agora estou tentando ativar novamente a replicação, porém o SQL acusa erro informando que as tabelas de replicação já existem no banco, então eu removi essas tabelas da replicação manualmente, através de stored_procedure, agora ao tentar ativar a replicação o SQL está informando que as tabelas não existem, então não pode criar a replicação. Gostaria de saber se existe algum comando no SQL para "restaurar" as tabelas padrões do bco referentes a replicação, caso contrário terei que criar um novo banco de dados, exportar todos os dados do bco antigo para o novo e depois criar a replicação.
Obg.
Respostas
-
Alberto, me responde algumas perguntas:
que tabelas vc excluiu?
qual procedure executou?
O distribuídor está na mesma máquina?
O database que vc está com essa replicação inativa, possui alguma publicação transacional?
Caso, exista algum procedimento mais complexo que exiga um cuidado maior com relação ao teu cenário de replicação, então, vc pode expor pra agente tenta encontrar uma alternativa.
Caso vc esteja querendo remover tudo mesmo, vc tem as seguintes opções:
sp_removesrvreplication - remove tudo que existir de replicãção no servidor(puplicações, assinantes, distribidor)
sp_dropdistributor 1,1 - remove o distribuidor.
sp_removedbreplication - remove a replicação de um database expecífico(pode ser o seu caso, caso vc deseje remover a replicação de apenas um database)
sp_droppublication - remove uma publicação em expecífico.
sp_cleanupdbreplication - remove referencias(sugeiras) de publicações merge.
sp_subscription_cleanup - remove referencias(sugeiras) de assinantes, essa procedure deve ser executada no assinante.
Verifique qual dessas procedures atende a sua necessidade.
Qualquer coisa estou a disposição.
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator domingo, 30 de agosto de 2015 02:37
Todas as Respostas
-
Alberto,
Já passei por este tipo de problema, o que fiz foi eliminar as tables que estavam sendo utilizadas na replicação, configurar e gerar novamente toda estrutura da replicação merge.
Por fim exportei os dados que estavam nas tables antigas para a nova table.
-
Alberto, me responde algumas perguntas:
que tabelas vc excluiu?
qual procedure executou?
O distribuídor está na mesma máquina?
O database que vc está com essa replicação inativa, possui alguma publicação transacional?
Caso, exista algum procedimento mais complexo que exiga um cuidado maior com relação ao teu cenário de replicação, então, vc pode expor pra agente tenta encontrar uma alternativa.
Caso vc esteja querendo remover tudo mesmo, vc tem as seguintes opções:
sp_removesrvreplication - remove tudo que existir de replicãção no servidor(puplicações, assinantes, distribidor)
sp_dropdistributor 1,1 - remove o distribuidor.
sp_removedbreplication - remove a replicação de um database expecífico(pode ser o seu caso, caso vc deseje remover a replicação de apenas um database)
sp_droppublication - remove uma publicação em expecífico.
sp_cleanupdbreplication - remove referencias(sugeiras) de publicações merge.
sp_subscription_cleanup - remove referencias(sugeiras) de assinantes, essa procedure deve ser executada no assinante.
Verifique qual dessas procedures atende a sua necessidade.
Qualquer coisa estou a disposição.
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator domingo, 30 de agosto de 2015 02:37