locked
Erro na sincronização - Replicação transacional RRS feed

  • Pergunta

  • Boa Tarde. Tenho o seguinte ambiente no SQL2005 na versão EnterpriseManager.

    Servidor A - Publicador

    SErvidor B - Distribuidor

    Servidor C, D, E e F - Assinantes

    Quanto temos que fazer um teste de contigencia, como os Servidores E e F se encontram em outra rede, executamos os seguintes procedimentos.

    -Paramos o SQLAgent e SQL Server do Servidor B (Distribuidor)

    -Paramos o SQLAgent  e SQL Server do Servidor A (Publicador)

    -Paramos o SQLSgent  e SQL Server dos Servidores C e D (Assinantes)

    -Realizamos a manutenção

    -Iniciamos o SQLAgent e SQLServer do Servidor A (Publicador)

    -Iniciamos o SQLAgent e SQLServer do Servidor B (Distribuidor)

    -Iniciamos o SQLAgent e SQLServer dos Servidores C e D (Assinantes)

    - Verificamos se está tudo OK. Estava tudo certo segundo o monitoramento da replicação

    Porém, na última manutenção, tivemos o seguinte problema.

    -Quando fizemos a checagem via script fazendo um comparativo do publicador com os assinantes, percebemos que havia um registro que não havia sido replicado.

    - Tivemos que efetuar a atualização fazendo um UPDATE com as mesmas informações e dessa forma, o conteúdo foi replicado.

    Como podemos evitar ese tipo de erro?

    Os nossos procedimentos de parada estão incorretos?

    Grata pelo auxilio

    segunda-feira, 28 de maio de 2012 19:48

Todas as Respostas

  • haichu1,

    Já passei por este problema em replicações transacionais, inclusive havia situações que a quantidade de registros não duplicados é muito grande, então comecei a fazer uma levantamento e identifiquei que os problemas estavam relacionados a minha infraestrutura, como também o tamanho dos pacotes que estavam sendo enviados pela replicação.

    O problema na maioria dos casos estava na quantidade de linhas replicadas, então fizemos o seguinte, alteramos os horários de replicação, diminuindo os intervalos.

    Neste seu caso, o que poderia fazer é sempre que tiver este tipo de manutenção, forar a replicação entre todas as pontas antes de interromper os agentes.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    segunda-feira, 28 de maio de 2012 20:39
    Moderador
  • Pedro, obrigada pelo retorno, mas... a minha replicação é transacional com assinante PULL.

    Quando você diz foçar a replicação significa, gerar um novo SnapShot?

    Isso é muito custoso, pois demoraria muito tempo... ou existe um modeo de gerar um snapshot só dos itens faltantes?

    Grata

    terça-feira, 29 de maio de 2012 15:40
  • haichu1,

    Não estou falando em gerar uma replicação, estou fazendo em forçar a execução dos jobs!


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 30 de maio de 2012 12:34
    Moderador
  • Desculpe.. não entendi o que seria forçar a execução dos jobs
    terça-feira, 5 de junho de 2012 12:35
  • Haichu1,

    Sim, somente forçar os jobs.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 6 de junho de 2012 11:37
    Moderador
  • Este post foi encerrado por falta de resposta.

    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 5 de junho de 2018 12:22
    Moderador