Sembra che tu stia riscontrando un piano di query memorizzato nella cache in modo errato a causa dello sniffing dei parametri.
Puoi pubblicare la procedura memorizzata?
In SQL Server 2005 è possibile utilizzare OTTIMIZZA PER suggerimento di query per i valori preferiti dei parametri per risolvere alcuni dei problemi associati allo sniffing dei parametri:
Sebbene SQL Server 2005 non supporti OTTIMIZZA PER SCONOSCIUTO (introdotto in SQL Server 2008), che eliminerà lo sniffing dei parametri per un determinato parametro:
OPTION (OPTIMIZE FOR (@myParam UNKNOWN))
È possibile ottenere lo stesso effetto in SQL Server 2005 copiando il parametro in una variabile locale e quindi utilizzando la variabile locale nella query.