Есть ли способ сделать паузу или подождать несколько секунд из сценария? - PullRequest
8 голосов
/ 01 июля 2011

Я бы предположил, что то, что я собираюсь спросить, обычно относится к области "плохой практики", но я хочу спросить независимо от того, потому что эта функциональность полезна для диагностики проблем и оценки длительных сценариев тестирования.

Короче говоря, есть ли встроенная в SQL Server функция, которую я мог бы вызвать, которая позволила бы мне "остановиться" на короткий промежуток времени?

У меня есть ночной процесс SSIS, который после экспорта данных генерирует различные подмножества статистических данных. Всякий раз, когда у меня возникают проблемы со временем выполнения пакета служб SSIS, у меня есть ряд диагностических хранимых процедур, которые я могу вызвать, чтобы помочь определить, для какой операции экспорта / массовой вставки требуется исключительно много времени.

Во второй половине моего процесса SSIS, где я генерирую статистические данные, было бы действительно полезно, если бы я мог проанализировать, где процесс может застопориться, или проанализировать, насколько быстро он может изменить данные в моих таблицах данных. Большая часть статической процедуры начинается с вставки данных в таблицу, которая циклически проходит через циклы WHILE и обновляется при выполнении необходимых условий.

Я могу легко запросить свои данные, чтобы получить определенную метрику во время выполнения моих статистических хранимых процедур То, что я хотел бы сделать, это взять эту метрику, подождать ровно 1 секунду (или определенное количество времени) и снова взять метрику, чтобы я мог их сравнить.

Имея возможность реализовать «паузу», я могу создавать более надежные диагностические сценарии, которые показывают, сколько операций вставки, обновления или вычисления начинаются в секунду, и, таким образом, могут оценить, какие части моих больших процедур занимают больше всего времени.

Я бы предположил, что могут быть некоторые диагностические инструменты, которые я мог бы использовать из SQL Server Management Studio. Я признаю, я не возился ни с чем из этого. Однако, как правило, если в SSMS есть инструмент, большая часть серверной функциональности может быть воспроизведена с помощью какой-либо необычной сценарии. Другим возможным ограничением использования любой встроенной диагностики является то, что я предпочел бы запускать эти метрики во время работы пакета служб SSIS, а не только во время тестирования хранимых процедур, которые выполняются в пакете.

Спасибо, ребята, за любые решения или советы! Этот запрос не на 100% необходим, но мои ночные пакеты служб SSIS становятся массивными, и мне приходится начинать тонкую настройку "скрипучих колес", которые я мог игнорировать в прошлом.

Ответы [ 3 ]

15 голосов
/ 01 июля 2011

Возможно, вы ищете ЗАДЕРЖКА ОЖИДАНИЯ

8 голосов
/ 06 июля 2011

Выберите Getdate () - подождите 10 секунд, чтобы запустить другую команду

ЗАДЕРЖКА ОЖИДАНИЯ '00: 00: 10 '; - принять значение чч: мм: сс

Выберите GetDate ()

8 голосов
/ 01 июля 2011

Вы бы использовали оператор WAITFOR DELAY

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...