2016-10-14 7 views
0

У меня есть хранимая процедура, которую я пытаюсь выполнить в SSIS, используя Execute SQL Task. Эта хранимая процедура включает в себя курсор, а последний шаг - «Отменить выделение курсора». Я замечаю, что даже после завершения выполнения хранимой процедуры выполнение задачи SQL не завершается и останавливается в течение длительного времени, прежде чем перейти к следующему шагу. Чтобы проверить это, я добавил insert stmt как последнюю строку в хранимой процедуре с GETDATE() как одно значение столбца. Он показывает, что выполнение STP завершено за 2 часа до завершения выполнения задачи SQL. Любая идея, если Execute SQL Task выполняет некоторые дополнительные шаги вместе с необходимой хранимой процедуройВыполнение SQL-задачи продолжить выполнение после завершения хранимой процедуры

+2

Почему вы предполагаете, что SSIS или SQL-запрос Execute по ошибке? Использование курсоров - очень сильный запах - есть очень, очень и очень мало вещей, которые требуют курсора. Единственный допустимый сценарий, пакетная обработка, решается SSIS datalfow. Скорее всего, ваша хранимая процедура * не * заканчивается, если вы считаете, что это так, потому что курсор занимает гораздо больше времени, чем эквивалентный оператор SQL. В худшем случае использование курсора заканчивается блокировкой всей таблицы в течение нескольких часов, в результате чего происходит ожидание с другими заявлениями –

+0

Можете ли вы опубликовать свой код или сообщить нам, что вы пытаетесь сделать. Это даст нам лучшее представление о том, что происходит, и, возможно, найти лучшее решение. –

+0

Также смотрите в прогоном профилировщика, а не просто с помощью инструкции insert в конце SP> –

ответ

0

Решено :) Это было в основном потому, что я использовал несколько операторов печати в хранимых процедурах SQL и, поскольку я выполнял эти хранимые процедуры из SSIS, это могло бы быть создавая некоторые буферы, которые очищались после выполнения. Я прокомментировал печать stmts в моем сохраненном proc и время выполнения в SSIS такое же, как время выполнения в SSMS.

Спасибо, что помогли мне.

С уважением

 Смежные вопросы

  • Нет связанных вопросов^_^