Поделиться через


Поток управления

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

Пакет состоит из потока управления, а также, одного или нескольких потоков данных (необязательно). Службы SQL Server Integration Services предоставляют три различных типа элементов потока управления: контейнеры, которые предоставляют структуры в пакетах, задачах, которые предоставляют функциональные возможности и ограничения приоритета, которые соединяют исполняемые файлы, контейнеры и задачи в упорядоченный поток управления.

Дополнительные сведения см. в разделах Precedence Constraints, Integration Services Containersи Integration Services Tasks.

Следующая диаграмма показывает поток управления, который имеет один контейнер и шесть задач. Пять задач пакетного уровня и одна задача уровня контейнера. Задача находится в контейнере.

Поток управления с шестью задачами и контейнером

Архитектура служб Integration Services поддерживает вложенные контейнеры, а поток управления может включать несколько уровней вложенных контейнеров. Так, пакет может содержать контейнер, например контейнер «цикл по каждому элементу», который в свою очередь может содержать другой контейнер «цикл по каждому элементу», и так далее.

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

Реализация потока управления

Поток управления создается в пакете с помощью вкладки "Поток управления" в конструкторе служб SSIS. Когда вкладка Поток управления открыта в области элементов приводится список задач и контейнеров, которые можно добавить в поток управления.

Следующая диаграмма демонстрирует поток управления простого пакета в конструкторе потока управления. Поток управления, показанный на диаграмме, состоит из трех задач пакетного уровня и одного контейнера пакетного уровня, который содержит три задачи. Задачи и контейнер связаны с помощью элементов управления очередностью.

Снимок экрана: конструктор потока управления с пакетом

Создание потока управления включает следующие задачи.

  • Добавление контейнеров, которые реализуют повторяющиеся рабочие процессы в пакете или разделяют поток управления на подмножества.

  • Добавление задач, которые поддерживают поток данных, подготавливают данные, исполняют рабочий процесс и функции бизнес-аналитики и реализуют скрипт.

    Службы Integration Services включают различные задачи, которые можно использовать для создания потока управления, соответствующего бизнес-требованиям пакета. Если пакет должен работать с данными, поток управления должен содержать по крайней мере одну задачу потока данных. Например, пакет может извлекать данные, объединять значения данных и затем записывать результаты в источник данных. Дополнительные сведения см. в разделах Задачи служб Integration Services и Добавление задачи или контейнера в поток управления или удаление их из него.

  • Соединение контейнеров и задач в упорядоченный поток управления путем использования элементов управления очередностью.

    После добавления задачи или контейнера в область конструктора вкладки "Поток управления" конструктор служб SSIS автоматически добавляет соединитель в элемент. Если пакет содержит два или более элемента, задачи или контейнера, то их присоединение к потоку управления происходит путем перетаскивания их соединителей из одного элемента в другой.

    Соединитель между двумя элементами представляет собой управление очередностью. Управление очередностью описывает связь между двумя соединенными элементами. Оно указывает порядок запуска задач и контейнеров во время выполнения и условия, при которых запускаются задачи и контейнеры. Например, элемент управления очередностью может указывать, что для запуска следующей задачи в потоке управления должна быть успешно выполнена предыдущая задача. Дополнительные сведения см. в статье Precedence Constraints.

  • Добавление диспетчеров соединений.

    Многим задачам требуется соединение с источником данных, поэтому необходимо добавить диспетчеры соединений, запрашиваемые задачей для пакета. Контейнер «цикл по каждому элементу» также может затребовать диспетчер соединений, в зависимости от используемого им типа перечислителя. Добавление диспетчеров соединений возможно в процессе поэлементного построения потока управления или до начала конструирования потока управления. Дополнительные сведения см. в статье Соединения в службах Integration Services (SSIS) и разделе Создание диспетчеров подключений.

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