Гитмо, я могу неправильно понять твой вопрос, но попробую.Вам нужно переместить данные из экземпляра SQL Server в несколько файлов, правильно?Вы хотите использовать функции параллельного перемещения данных, предоставляемые службами SSIS.Это означает одновременное выполнение нескольких задач потока данных (DFT).Для каждого целевого файла вы можете иметь только один DFT из-за проблем с одновременной записью.
Чтобы получить несколько одновременно выполняемых задач потока данных, в которых источником является база данных SQL Server, а целью является набор файлов, вы можете попробовать следующие способы (обратите внимание, что для параллелизации можно использовать верхние ограничения).выход из SSIS, основанный на многих факторах, включая количество ядер вашего процессора, независимо от того, работаете ли вы в BIDS / Visual Studio или нет, а также различные параметры в ваших пакетах, ваш сервер (ы), ваш экземпляр SQL Server и многие другие соображения):
- Решение с несколькими одновременными DFT-файлами: один пакет служб SSIS с одним диспетчером подключений указывал на исходную базу данных SQL Server, а многие диспетчеры подключений указывали на отдельный целевой файл, а также один DFT для каждого целевого файла.Все ДПФ не связаны друг с другом (нет ограничений по приоритету или зеленых / красных / синих линий / стрелок).Если до или после ETL-шагов требуется отличный способ распараллеливания этих DFT-файлов, это поместить их все в контейнер последовательностей, который связан с более ранними и более поздними задачами через ограничения / стрелки предшествования.Эти отключенные DFT-файлы в своем собственном контейнере последовательностей будут пытаться запускаться одновременно.
- Множественное одновременное решение DTEXEC: несколько пакетов SSIS, каждый со своим собственным целевым DFT для конкретного файла.Вы вручную запускаете отдельные процессы DTEXEC либо через отдельные окна CMD, либо через графический интерфейс.# 3 ниже представлен вариант этого решения, и, возможно, лучше.
- Родительский мастер-пакет, выполняющий несколько дочерних пакетов Решение: оберните пакеты файлов для каждого целевого, разработанные в №2 выше, в один родительский мастер-пакет.В родительском пакете есть несколько одновременно выполняемых задач пакета выполнения.Снова эти задачи выполнения пакета будут отключены от других задач.Хороший способ сделать это - удалить несколько задач «Выполнение пакета» в их собственный контейнер последовательностей.Как и раньше, если задачи «Выполнение пакета» отключены (без ограничений / стрелок предшествования), все они будут пытаться запускаться одновременно.
Посмотрите на эту замечательную статью от команды Microsoft SQLCAT, чтобы узнать больше идей /понимание: 10 лучших рекомендаций по SQL Server Integration Services
Возможны различия в этих же идеях и, возможно, в других решениях, доступных как внутри, так и за пределами SSIS.Удачи!