У нас была похожая проблема с нашим IVR - когда я запускал запрос через SSMS, он возвращался мгновенно, но когда он запускался через веб-сервис, к которому обращался наш IVR, он зависал примерно в 20% случаев - действительно странно .
В итоге я запустил SQL Profiler для просмотра отправляемых запросов, а затем добавил несколько дополнительных индексов в соответствии с рекомендациями мастера настройки индекса, который каждый раз ускорял запрос IVR до секунды. Я подозреваю, что проблема также была связана с параметрами, и хотя я не сравнивал план выполнения между двумя различными местами, я подозреваю, что они были совершенно разными. SQL Profiler поможет вам разобраться в этом, поскольку вы можете видеть запрос, фактически переданный движку, а также план выполнения, который он использует для извлечения данных.