Fazer uma PerguntaFazer uma Pergunta
 

PerguntaTimeout em Stored Procedure (bizarro)

  • sexta-feira, 6 de novembro de 2009 14:12iqueiroz.go Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Olá

    Executando uma stored procedure via SQL Server Management ela rodava em 0ms... ótimo. Mas quando o código dum programa (winforms) ia executar essa mesma stored procedure, mesmo com parametros, ela dava timeout.
    Pelo profiler constatei que nem chegava a executar o select.

    Depois de muito pesquisar vi uma sugestão de remover chamadas a funções. Ok... tinha uma chamada para uma função que criei (replicando o codigo) e pimba... a procedure parou de dar timeout no C#.

    Problema... essa função é para fazer uma validação rotineira, mas um pouco extensa, e é chamada em outras Stored Procedures que não dão timeout! 
    Tentei sp_recompile, OPTION(RECOMPILE), WITH RECOMPILE, usuario diferente e nada me ajudou.

    Detalhe: ela começava a dar timeout... mas não em todas as requisições. De 500 chamadas pelo C#, 400 davam timeout.
    Pelo SSMS de 400 chamadas, 0 davam timeout. e todas elas rodavam em 0ms.


    Servidor: SQL Server 2005 (9.0.4035)
    C# 2.0 com Enterprise Library 3.1.0.0

    Alguma idéia?

    Obrigado