Erro de tempo limite do MS SQL Server 2000 sem causa aparente

1

Bom dia,

Estou tendo problemas com os tempos limite de consulta no MS SQL Server 2000. Ele é usado como um back-end para o Intuitive ERP, um sistema ERP antigo baseado no MS Access.

Meu problema é que, ao executar os cálculos de planejamento, um processo que preforma um grande número de consultas, estamos experimentando um erro de tempo limite de SQL.

Inicialmente, usei o profiler para determinar a consulta incorreta (uma consulta DELETE) e a executei manualmente antes de executar novamente, o que pareceu funcionar. No entanto, em execuções subseqüentes, ele expiraria em um estágio posterior. Os detalhes são um pouco esboçados aqui quando meu gerente assumiu, mas pelo que ela me diz, eu diria que é uma consulta SELECT ou INSERT.

Realizar qualquer uma dessas consultas diretamente no servidor (usando o Enterprise Manager) resulta em uma resposta oportuna toda vez que parece não haver razão para o tempo limite.

Eu percebo que isso não é muito para continuar, então eu acho que a minha pergunta é mais que tipo de coisas pode causar uma consulta ao tempo limite? Já tivemos problemas com espaço em disco no passado, mas esse não é o problema aqui. Eu também verifiquei a conexão de rede: pings voltam em cerca de 1ms, de modo que não deve ser o problema (além disso, o criador de perfil mostra as consultas com falha como tendo uma quantidade excessiva de tempo, sugerindo que é algo no servidor final) .

Obrigado pelo seu tempo.

    
por gsteinert 13.08.2012 / 08:27

1 resposta

1

Ao contrário de você executar as instruções ad-hoc, o aplicativo provavelmente está executando todas elas no contexto de uma transação do usuário, portanto, pode haver muito mais acúmulo de bloqueios nesse caso. A atividade simultânea do usuário no banco de dados pode resultar em bloqueio, o que, por sua vez, pode causar tempos limites se as coisas ficarem muito tempo atrasadas.

Infelizmente, como estamos falando de um aplicativo de terceiros, não sei se há muito o que você pode fazer no lado do SQL Server. Se o aplicativo expuser quaisquer configurações de tempo limite, talvez seja uma boa ideia aumentá-las, talvez substancialmente. Também pode ajudar a executar esses tipos de processos em lote fora dos horários de pico, se possível.

    
por 14.08.2012 / 05:42