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

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

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

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

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

ПримечаниеПримечание

Законченные полнофункциональные образцы, в которых показано использование отслеживания измененных данных в пакетах, см. в образцах служб Integration Services в разделе Codeplex.

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

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

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

  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 предназначены для применения операций обновления и удаления в целевой базе данных.

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

Значок служб Integration Services (маленький) Будьте в курсе новых возможностей служб Integration Services

Чтобы загружать новейшую документацию, статьи, образцы и видеоматериалы от корпорации Майкрософт, а также лучшие решения от участников сообщества, посетите страницу служб Integration Services на сайтах MSDN или TechNet:

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.