Я бы предположил, что то, что я собираюсь спросить, обычно относится к области "плохой практики", но я хочу спросить независимо от того, потому что эта функциональность полезна для диагностики проблем и оценки длительных сценариев тестирования.
Короче говоря, есть ли встроенная в SQL Server функция, которую я мог бы вызвать, которая позволила бы мне "остановиться" на короткий промежуток времени?
У меня есть ночной процесс SSIS, который после экспорта данных генерирует различные подмножества статистических данных. Всякий раз, когда у меня возникают проблемы со временем выполнения пакета служб SSIS, у меня есть ряд диагностических хранимых процедур, которые я могу вызвать, чтобы помочь определить, для какой операции экспорта / массовой вставки требуется исключительно много времени.
Во второй половине моего процесса SSIS, где я генерирую статистические данные, было бы действительно полезно, если бы я мог проанализировать, где процесс может застопориться, или проанализировать, насколько быстро он может изменить данные в моих таблицах данных. Большая часть статической процедуры начинается с вставки данных в таблицу, которая циклически проходит через циклы WHILE и обновляется при выполнении необходимых условий.
Я могу легко запросить свои данные, чтобы получить определенную метрику во время выполнения моих статистических хранимых процедур То, что я хотел бы сделать, это взять эту метрику, подождать ровно 1 секунду (или определенное количество времени) и снова взять метрику, чтобы я мог их сравнить.
Имея возможность реализовать «паузу», я могу создавать более надежные диагностические сценарии, которые показывают, сколько операций вставки, обновления или вычисления начинаются в секунду, и, таким образом, могут оценить, какие части моих больших процедур занимают больше всего времени.
Я бы предположил, что могут быть некоторые диагностические инструменты, которые я мог бы использовать из SQL Server Management Studio. Я признаю, я не возился ни с чем из этого. Однако, как правило, если в SSMS есть инструмент, большая часть серверной функциональности может быть воспроизведена с помощью какой-либо необычной сценарии. Другим возможным ограничением использования любой встроенной диагностики является то, что я предпочел бы запускать эти метрики во время работы пакета служб SSIS, а не только во время тестирования хранимых процедур, которые выполняются в пакете.
Спасибо, ребята, за любые решения или советы! Этот запрос не на 100% необходим, но мои ночные пакеты служб SSIS становятся массивными, и мне приходится начинать тонкую настройку "скрипучих колес", которые я мог игнорировать в прошлом.