Il semble que vous rencontriez un plan de requête incorrectement mis en cache en raison de la détection de paramètres.
Pouvez-vous publier la procédure stockée ?
Dans SQL Server 2005, vous pouvez utiliser OPTIMISER POUR indice de requête pour les valeurs préférées des paramètres afin de remédier à certains des problèmes associés au reniflage de paramètres :
Bien que SQL Server 2005 ne supporte pas OPTIMIZE FOR UNKNOWN (introduit dans SQL Server 2008) qui éliminera le reniflage de paramètre pour un paramètre donné :
OPTION (OPTIMIZE FOR (@myParam UNKNOWN))
Vous pouvez obtenir le même effet dans SQL Server 2005 en copiant le paramètre dans une variable locale, puis en utilisant la variable locale dans la requête.