SQL Server atualizado de 2000 a 2005. Agora, obtendo TimeoutException

1

Atualizei recentemente um servidor MSSQL da versão 2000 para 2005, para usar UDFs e ajustar alguns resultados em um sistema. O problema é que não temos o código fonte.

Então, eu substituí a versão SQL, e tudo funcionou bem ... exceto quando temos que fazer uma consulta grande. Estou recebendo este erro:

System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

Eu pesquisei sobre isso, e o que eu recebo é que ele costumava ser um problema CommandTimeout que eu tenho que resolver programaticamente, como é suposto estar no lado do cliente, mas isso é estranho, porque sempre funcionou mesmo com grandes consultas.

Existe alguma maneira de remover qualquer tipo de tempo limite? O sistema é completamente interno e poucas pessoas o usam, então não há risco de interrupções ... Eu prefiro uma consulta rodando para sempre que essas mensagens irritantes.

Obrigado antecipadamente!

por Gonzalo Larralde 16.09.2011 / 21:45

1 resposta

1

Estes tempos limite dos comandos são definidos por código, por isso, se você não tiver a fonte, não terá sorte em removê-la.

O que você deve fazer é colocar um rastreamento do SQL Profiler em uma sessão e descobrir exatamente o que está causando a consulta de longa duração. Você provavelmente será capaz de encontrar algo que não está certo no lado do banco de dados (índices ausentes, más junções, etc).

    
por 16.09.2011 / 22:51