Я пишу пакет SSIS, который читает записи из одной таблицы и возвращает 20 имен SQL-серверов, следующие шаги: foreach loop, который извлекает объекты базы данных и создает файл этого сценария db. Даже это сделано с успехом, но вопрос в том, что требуется слишком много времени, которое составляет ок. 3-4 часа для завершения.SSIS параллельная обработка foreach loop
Поток Пакет,
- SQL Задача, которая возвращает 20 SQL серверов - выполнение одного запроса
- Второй является Foreachпетли, который выполняет итерацию по всем объекте с одного сервера и генерирует файл, который хранится в местоположении.
Вопрос заключается в том,
- Можем ли мы сократить время от 3 до 4 часов к минимуму?
- Возможно ли, чтобы цикл foreach выполнялся параллельно?
Я пытаюсь разделить одну петлю на на Трехпетлевой, таким образом, я надеюсь, что уменьшит 3 до 4 часов в 1 ч
Любые предложения очень ценятся.
Спасибо!
Почему вы не используете SQL Server встроенные механизмы, как SQL Server Utility, чтобы запустить этот запрос аудита на всех серверах одновременно? То есть, если утилита SQL Server не * уже * собирает нужную информацию? –
У меня есть пакет и его изменение, чтобы уменьшить это до минимального времени. и он выполняется из SQL Agent Job еженедельно. –
Да, можно параллельно запускать несколько циклов foreach. Остальная часть вашего вопроса слишком широка. –