Registros atualizados em uma seção não são exibidos

Discussão em 'Banco de Dados / Database' iniciado por leandro_gp, Maio 17, 2013.

  1. leandro_gp

    leandro_gp Sem Pontuação

    Bom dia, pessoal.
    Estou com uma situação estranha em um cliente. Veja se podem me dar alguma dica:

    Olha a sequencia de acontecimentos:

    1- A Estação 1 consultou um registro da tabela ‘tabela_1’ no banco de dados, e verificou que o campo ‘tabela_1.campo_1’ estava igual a zero;
    2- Logo depois, a Estação 2 alterou esse mesmo registro da ‘tabela_1’, gravando o campo 'tabela_1.campo_1' com o valor '10', e liberou o registro (o registro da ‘tabela_1’ não está mais preso para o usuário da Estação 2);
    3- Sem sair do sistema, a Estação 1 faz uma nova consulta nesse mesmo registro da ‘tabela_1’, e o campo ‘tabela_1.campo_1’ continua aparecendo com valor zero para ele;
    4- A Estação 1 sai do sistema e entra novamente, e ao fazer a consulta desse registro do ‘tabela_1’ novamente, aparece a informação correta.

    E o pior de tudo é que esse problema só ocorre no ambiente de um único cliente nosso. Já simulamos esse mesmo passo-a-passo em vários outros clientes nossos, inclusive em nosso ambiente de testes, e essa situação não ocorre.
    A impressão é que esses registros estão ficando armazenados na memória da estação, e toda vez que tenta ler esse registro novamente, o sistema está buscando da memória, ao invés de buscar do banco de dados.
    Só reforçando: essa situação ocorre somente em um de nossos clientes. Em outros ambientes esse problema não ocorre.
    Será que existe alguma configuração no Banco de Dados?

    Agradeço a ajuda.

    Leandro
  2. Agnaldo

    Agnaldo Membro Ativo

    Dá uma olhada no parametro Reread Nolock (-rereadnolock), talvez ajude.
    fabiano curtiu isso.
  3. leandro_gp

    leandro_gp Sem Pontuação

    Obrigado, Agnaldo. Deu certo esse parâmetro. O único inconveniente é que há uma perda de performance (pouco significativa) nos processos, devido a essa frequente leitura / atualização das informações a partir do banco de dados (mesmo nos casos em que a informação já se encontra em memória). De qualquer forma, no meu caso é melhor abrir mão da performance para garantir a integridade da informação que está sendo exibida ao usuário.

    Abraço,

    Leandro.

Compartilhe esta Página