Parece que você está enfrentando um plano de consulta armazenado em cache incorretamente devido à detecção de parâmetros.
Você pode postar o procedimento armazenado?
-
Compilação em lote, recompilação e problemas de cache do plano no SQL Server 2005
-
Eu cheiro um parâmetro!
No SQL Server 2005, você pode usar o OTIMIZAR PARA dica de consulta para valores preferenciais de parâmetros para corrigir alguns dos problemas associados à detecção de parâmetros:
Embora o SQL Server 2005 não suporte OPTIMIZE FOR UNKNOWN (introduzido no SQL Server 2008), o que eliminará a detecção de parâmetros para um determinado parâmetro:
OPTION (OPTIMIZE FOR (@myParam UNKNOWN))
Você pode obter o mesmo efeito no SQL Server 2005 copiando o parâmetro em uma variável local e, em seguida, usando a variável local na consulta.