locked
Problema com dados da Replicação RRS feed

  • Pergunta

  • Boa Tarde. Estou tendo um problema com a replicação do SQL Server 2005. O problema é o seguinte. Em uma certa empresa o valor dos produtos são atualizados mas de uma hora para outra eles voltam para o valor antigo. Por exemplo eu mudo o valor de uma mesa que hoje custa R$ 40,00 para R$ 50,00 e de uma hora pra outra sem seguir nenhuma lógica o valor volta para R$ 40,00. Já tentamos refazer a replicação entre os computadores (são dois computadores), tentamos reinstalar o SQL Server mas o problema persiste. Será que é alguma configuração do Sql que estamos deixando passar despercebida? Alguém tem alguma ideia do que pode ser?
    quinta-feira, 24 de maio de 2012 19:04

Respostas

  • Oi Jonas, verificar o rowguid da tua tabela antes e depois de o valor voltar.

    Faz um update na tua origem para o valor que tu quer e verifica se ele esta alterando este valor.

    Essa coluna é responsável pela replicação, ela quem diz quando deve ou não ser replicado, faz isso e verifica como esta na tabela que esta trazendo o valor de volta.

    Caso não funcione desta forma, tenta fazer um update no outro banco ver se ele traz o valor de lá, pode estar com problemas na replicação de volta, ai ele traz o valor de lá por achar que é o mais recente.

    Espero que ajude, vlew.


    --
    Marcus Vinícius Bittencourt
    blog: isqlserver.wordpress.com
    www.sqlserverRS.com.br

    quinta-feira, 31 de maio de 2012 00:01

Todas as Respostas

  • Olá Jonas,

         Qual o tipo de replicação você utiliza?

         Esse valor é alterado na origem ou destino?

    sexta-feira, 25 de maio de 2012 14:06
  • Olá Jonas!

       Por favor passe maiores informações sobre a replicação, será que ela não está configurada invertida?

       Um abraço.

       Cesar Blumm

       http://sqlbrasil.blogspot.com


    Cesar Blumm http://sqlbrasil.blogspot.com http://sharepointtche.wordpress.com

    sexta-feira, 25 de maio de 2012 14:28
  • Wellington

    Uso a Merge. Boa pergunta. Assim, os dados dos assinantes são enviados para o servidor. Não tinha me deparado ainda com essa dúvida se o valor é alterado na origem ou destino.

    segunda-feira, 28 de maio de 2012 12:32
  • César

    Trabalhamos com replicação em outros clientes nossos e não acontece esse problema e a configuração da replicação não muda entre elas. 

    segunda-feira, 28 de maio de 2012 12:33
  • Olá Jonas,

         O tipo de replicação Merge costuma ser utilizada quanto trabalhamos com dispositivos moveis que utilizam SQL Server Compact ou quando precisamos manipular dados nas duas pontas da replicação.

         Esse seria seu cenario?

         Caso não, acho interessante utilizar a replicação transacional.

        

    segunda-feira, 28 de maio de 2012 16:54
  • No nosso caso precisamos manipular dados nas duas pontas da replicação. Por isso escolhemos o merge.
    segunda-feira, 28 de maio de 2012 17:53
  • Boa tarde.

    Existem N problemas para esse assunto:

    1) Você tem certeza que está replicando os dados?

    2)  O DBA não criou nenhuma procedure para acertar esse tipo de valor?

    3) No Banco de Publicações está para replicar instantâneo ou existem horários para tal replicação?

    4) Como foi configurado sua distribuição?

    segunda-feira, 28 de maio de 2012 19:17
  • Jonas,

    O serviço MSDTC esta configurado para trabalhar com qual conta de usuário? Ele foi configurado para rodar nas duas pontas eu especificamente no servidor que esta publicando os dados?


    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 19:32
    Moderador
  • Molombito - Boa tarde

    Respondendo as perguntas:

    1 - Sim, está, já verifiquei isso.

    2 - Não.

    3 - Está programado pra realizar a atualização instantaneamente.

    4 - Normal para rodar com merge.

    Acabei de verificar que á varias conflitos na replicação, em uma tabela chegou a dar mais de 30 mil conflitos.... Achei estranho isso.

    segunda-feira, 28 de maio de 2012 20:04
  • Nas duas pontas....
    segunda-feira, 28 de maio de 2012 20:05
  • Oi Jonas, verificar o rowguid da tua tabela antes e depois de o valor voltar.

    Faz um update na tua origem para o valor que tu quer e verifica se ele esta alterando este valor.

    Essa coluna é responsável pela replicação, ela quem diz quando deve ou não ser replicado, faz isso e verifica como esta na tabela que esta trazendo o valor de volta.

    Caso não funcione desta forma, tenta fazer um update no outro banco ver se ele traz o valor de lá, pode estar com problemas na replicação de volta, ai ele traz o valor de lá por achar que é o mais recente.

    Espero que ajude, vlew.


    --
    Marcus Vinícius Bittencourt
    blog: isqlserver.wordpress.com
    www.sqlserverRS.com.br

    quinta-feira, 31 de maio de 2012 00:01
  • Jonas,

    Vale ressaltar que esta coluna RowGuid é gerada automáticamente pelo SQL Server como um UniqueIdentifier, os valores adicionados para esta coluna são gerados de forma direta e não pode ser alterados. Alias, este coluna é o controle e possível versionamento dos dados que estão sendo replicados.


    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]

    sexta-feira, 27 de julho de 2012 12:17
    Moderador
  • manda os logs para da uma olhada...
    quarta-feira, 22 de agosto de 2012 16:45