La query si interrompe quando viene eseguita dal Web, ma super veloce quando viene eseguita da SSMS

Sto cercando di eseguire il debug dell’origine di un timeout SQL in un’applicazione Web che mantengo. Ho il codice sorgente del codice C # dietro, quindi so esattamente quale codice è in esecuzione. Ho eseguito il debug dell’applicazione fino alla riga che esegue il codice SQL che va in timeout e guardo la query in esecuzione in SQL profiler.

Quando questa query viene eseguita dal Web, viene interrotta dopo 30 secondi. Tuttavia, quando taglio / incolla la query esattamente come presentata in Profiler, e la metto in SSMS ed eseguo, ritorna quasi istantaneamente. Ho rintracciato il problema che ARITHABORT è stato impostato su OFF nella connessione utilizzata dal web (ovvero, se spengo ARITHABORT OFF nella sessione SSMS, viene eseguito per un lungo periodo di tempo e, se lo riaccendo, viene eseguito molto velocemente). Comunque, leggendo la descrizione di ARITHABORT, non sembra applicarsi … Sto solo facendo una semplice SELECT, e non c’è NESSUNA aritmetica che viene eseguita … basta un singolo INNER JOIN con una condizione WHERE:

Perché ARITHABORT OFF dovrebbe causare questo comportamento in questo contesto ?? C’è un modo per modificare l’impostazione ARITHABORT per quella connessione da SSMS? Sto usando SQL Server 2008.