Спасибо за все комментарии.
Я до сих пор не нашел ответ, но опубликую здесь прогресс.
Я не смог воспроизвести проблему раньше, но сегодня случайно наткнулся надругая хранимая процедура с той же проблемой.Снова появились те же симптомы:
- В обычном окне запросов висящий фрагмент запроса выполняется нормально и быстро (3 секунды) (висящий фрагмент идентифицирован как sp_whoisactive)
- Нет блокировок, согласно ActivityМонитор SPID выполняет SELECT
- Хранимая процедура выполняется более 6 часов без ответа
- Параметры, переданные в SP и переменные, объявленные в окне, совпадают
Использование приведенных выше подсказокЯ нашел план выполнения SP, и он не показал ничего необычного (по крайней мере для меня).Создание новой хранимой процедуры с тем же содержимым также не решило проблему.Поэтому я начал разбирать SP на все меньше и меньше, пока не столкнулся с вызовом UDF другой базы данных .Когда я удалил это (заменил вызов встроенным содержимым функции, оператором CASE
), он снова заработал нормально.
Таким образом, это МОЖЕТ быть проблемой, но я не совсем уверен, так какв прошлый раз проблема исчезла сама собой, и я также изменил много других вещей при удалении этого SP.