OK, już wcześniej mieliśmy podobne problemy.
Sposób, w jaki to naprawiliśmy, polegał na utworzeniu lokalnych parametrów wewnątrz SP, tak aby
DECLARE @LOCAL_Contract_ID int,
@LOCAL_dt_From smalldatetime,
@LOCAL_dt_To smalldatetime,
@LOCAL_Last_Run_Date datetime
SELECT @LOCAL_Contract_ID = @Contract_ID,
@LOCAL_dt_From = @dt_From,
@LOCAL_dt_To = @dt_To,
@LOCAL_Last_Run_Date = @Last_Run_Date
Następnie używamy lokalnych parametrów wewnątrz SP, a nie parametrów, które zostały przekazane.
To zazwyczaj rozwiązało problem dla nas.
Uważamy, że jest to spowodowane podsłuchiwaniem parametrów, ale nie mamy żadnego dowodu, przepraszam... X-)
EDYTUJ:
Spójrz na Różne podejścia aby poprawić podsłuchiwanie parametrów serwera SQL po kilka wnikliwych przykładów, wyjaśnień i poprawek.