none
Restaurar Tabelas Padrões da Replicação Merge RRS feed

  • 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.

    sexta-feira, 9 de janeiro de 2009 11:49

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.

    sexta-feira, 9 de janeiro de 2009 23:04

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.

    sexta-feira, 9 de janeiro de 2009 15:22
    Moderador
  • 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.

    sexta-feira, 9 de janeiro de 2009 23:04