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


Выполнение добавочной загрузки нескольких таблиц

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

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

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

  • Использование родительского пакета и дочерних пакетов.

  • Использование нескольких задач потока данных в одном пакете.

Загрузка нескольких таблиц с помощью родительского пакета и нескольких дочерних пакетов

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

Создание родительского пакета для шагов, которые достаточно выполнить один раз.

  1. Создайте родительский пакет.

  2. В потоке управления используйте задачу "Выполнение SQL" или выражения Integration Services, чтобы вычислить конечные точки.

    Пример вычисления конечных точек см. в разделе Задание интервала для информации об изменениях данных.

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

    Пример подобного контейнера "цикл по элементам" см. в разделе Определение готовности информации об изменениях данных.

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

    Дополнительные сведения см. в разделах Задача "Выполнение пакета" и Использование значений переменных и параметров в дочернем пакете.

Создание дочерних пакетов для шагов, которые нужно выполнить для каждой исходной таблицы

  1. Создайте дочерний пакет для каждой исходной таблицы.

  2. В потоке управления используйте задачу «Скрипт» или «Выполнение SQL», чтобы составить инструкцию SQL, которая будет использоваться для запроса изменений.

    Пример по сборке запроса см. в разделе Подготовка к запросу информации об изменениях.

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

    1. В потоке данных используйте исходный компонент, чтобы запросить изменения из таблиц изменений, входящие в диапазон выбранных конечных точек.

      Пример запроса таблиц изменений см. в разделе Получение и интерпретация измененных данных.

    2. Преобразование «Условное разбиение» предназначено для направления операций вставки, обновления и удаления на различные выходы для необходимой обработки.

      Пример, демонстрирующий настройку этого преобразования на непосредственный вывод, см. в разделе Обработка операций вставки, обновления и удаления.

    3. Используйте компонент назначения, чтобы применить операции вставки в целевой базе данных. Преобразования «Команда OLE DB» с параметризованными инструкциями UPDATE и DELETE предназначены для применения операций обновления и удаления в целевой базе данных.

      Пример, демонстрирующий использование этого преобразования для применения операций обновления и удаления, см. в разделе Применение изменений в назначении.

Загрузка нескольких таблиц с помощью нескольких задач потока данных в одном пакете

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

Загрузка нескольких таблиц с помощью нескольких задач потока данных в одном пакете

  1. Создайте один пакет.

  2. В потоке управления используйте задачу "Выполнение SQL" или выражения Integration Services, чтобы вычислить конечные точки.

    Пример вычисления конечных точек см. в разделе Задание интервала для информации об изменениях данных.

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

    Пример подобного контейнера "цикл по элементам" см. в разделе Определение готовности информации об изменениях данных.

  4. Используйте задачу «Скрипт» или задачу «Выполнение SQL», чтобы собрать инструкцию SQL, которая будет использоваться для запроса изменений.

    Пример по сборке запроса см. в разделе Подготовка к запросу информации об изменениях.

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

    1. В каждом потоке данных используйте исходный компонент для запроса изменений, находящихся в диапазоне выбранных конечных точек, из таблиц изменений.

      Пример запроса таблиц изменений см. в разделе Получение и интерпретация измененных данных.

    2. Преобразование «Условное разбиение» предназначено для направления операций вставки, обновления и удаления на различные выходы для необходимой обработки.

      Пример, демонстрирующий настройку этого преобразования на непосредственный вывод, см. в разделе Обработка операций вставки, обновления и удаления.

    3. Используйте компонент назначения, чтобы применить операции вставки в целевой базе данных. Преобразования «Команда OLE DB» с параметризованными инструкциями UPDATE и DELETE предназначены для применения операций обновления и удаления в целевой базе данных.

      Пример, демонстрирующий использование этого преобразования для применения операций обновления и удаления, см. в разделе Применение изменений в назначении.