Пакеты служб Integration Services

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

Пакет сразу после создания — это пустой объект, который ничего не содержит. Чтобы расширить функциональные возможности пакета, в него добавляется поток управления и, при необходимости, один или несколько потоков данных.

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

Пакет с потоком управления и потоком данных

После создания основного пакета в него добавляются дополнительные функции, такие как ведение журнала, и переменные, расширяющие функциональные возможности пакета. Дополнительные сведения приведены в разделе, посвященном объектам, расширяющим функциональность пакетов.

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

Содержимое пакета

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

Поток данных состоит из источников и назначений, извлекающих и загружающих данные, из преобразований, изменяющих и расширяющих данные, а также из путей, связывающих источники, преобразования и назначения. Чтобы в пакет можно было добавить поток данных, поток управления пакета должен содержать задачу потока данных. Эта задача является исполняемым объектом пакета SSIS, который создает, упорядочивает и запускает поток данных. Отдельный экземпляр подсистемы обработки потока данных открывается для каждой задачи потока данных в пакете. Дополнительные сведения см. в разделах Задача потока данных, Элементы потока данных и Проектирование потока данных пакета.

Как правило, в состав пакета входит как минимум один диспетчер соединений. Диспетчер соединений — это связующее звено между пакетом и источником данных, определяющее строку соединения для доступа к данным, которые используются задачами, преобразованиями и обработчиками событий в пакете. В состав служб Integration Services входят типы соединений для источников данных, таких как XML-файлы, реляционные базы данных, базы данных Службы Analysis Services и проекты. Дополнительные сведения см. в разделе Соединения служб Integration Services.

Шаблоны пакетов

Пакеты часто используются как шаблоны, из которых формируются пакеты, обладающие базовой функциональностью. Можно создать базовый пакет и скопировать его или же обозначить пакет как шаблон. Например, пакет, загружающий и копирующий файлы, а затем извлекающий данные, может содержать задачи «FTP» и «Файловая система» в контейнере «цикл по каждому элементу», который перечисляет файлы в папке. Он также может включать диспетчеры соединений с неструктурированными файлами для доступа к данным и источники неструктурированных файлов для уточнения данных. Назначение данных изменяется и добавляется к каждому новому пакету после того, как он копируется из базового пакета. Можно создавать пакеты, а затем использовать их как шаблоны для новых пакетов, добавляемых в проект служб Integration Services. Дополнительные сведения см. в разделе Создание пакета в среде Business Intelligence Development Studio.

Если пакет создан программно или с помощью конструктора служб SSIS, идентификатор GUID добавляется в свойство ID, а имя — в свойство Name. При создании нового пакета с помощью шаблона или копирования уже существующего пакета имя и идентификатор GUID также копируются. Ведение журналов может вызвать проблемы, так как идентификатор GUID и имя пакета записываются в журналы для идентификации пакета, к которому относятся записанные данные. Поэтому необходимо изменять имя и идентификатор GUID для новых пакетов, чтобы отличать их от пакета, из которого они были скопированы, и чтобы отличать их друг от друга.

Чтобы изменить идентификатор пакета GUID, повторно сформируйте значение идентификатора GUID для свойства ID в окне свойств среды Business Intelligence Development Studio. Чтобы изменить имя пакета, можно изменить значение свойства Name в окне свойств. Также можно использовать средство командной строки dtutilили изменить идентификатор GUID и имя программным образом. Дополнительные сведения см. в разделах Установка свойств пакета и Программа dtutil (средства служб SSIS).

Объекты, расширяющие функциональные возможности пакета

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

Обработчики событий

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

Конфигурации

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

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

Ведение журналов и регистраторы

Журнал — это коллекция данных о пакете, собираемых во время работы пакета. Например, в журнале может быть записано время начала и окончания работы пакета. Регистратор определяет целевой тип и формат, который пакет с его контейнерами и задачами применяет для записи сведений о выполнении. Журналы связаны с пакетом, но задачи и контейнеры в пакете могут сохранять данные в журнале любого пакета. В состав служб Integration Services входят различные встроенные регистраторы. Например, в состав служб Integration Services входят регистраторы для SQL Server и текстовых файлов. Кроме того, можно создавать пользовательские регистраторы и применять их для ведения журналов. Дополнительные сведения см. в разделе Регистраторы служб Integration Services.

Переменные

Службы Integration Services поддерживают системные и пользовательские переменные. В системных переменных хранятся полезные сведения об объектах пакета во время выполнения, а пользовательские переменные поддерживают пользовательские сценарии в пакетах. Оба типа переменных можно использовать в выражениях, сценариях и конфигурациях.

Переменные уровня пакета — это предопределенные системные переменные, доступные для пакета, а также пользовательские переменные области пакета. Дополнительные сведения см. в разделе Переменные служб Integration Services.

Свойства пакета, поддерживающие расширенные функциональные возможности

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

Перезапуск пакетов

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

Защита пакетов

Пакет можно подписать цифровой подписью и зашифровать с помощью пароля и ключа пользователя. Электронная подпись определяет подлинность источника пакета. Однако следует также настроить службы Integration Services для проверки цифровой подписи при загрузке пакета. Дополнительные сведения см. в разделах Использование цифровых подписей с пакетами и Установка уровня защиты пакетов.

Поддержка транзакций

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

Пользовательские записи журнала, доступные в пакете

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

Запись журнала

Описание

PackageStart

Указывает, что выполнение пакета началось.

ПримечаниеПримечание
Эта запись журнала формируется автоматически. Ее нельзя исключить.

PackageEnd

Указывает, что выполнение пакета завершено.

ПримечаниеПримечание
Эта запись журнала формируется автоматически. Ее нельзя исключить.

Diagnostic

Предоставляет сведения о настройках системы, влияющих на выполнение пакета, таких как количество одновременно исполняемых объектов.

Создание пакета

Кроме модели объектов SSIS для создания пакетов, в состав служб Integration Services входят два графических средства: конструктор служб SSIS и мастер импорта и экспорта служб SQL Server.

Дополнительные сведения о создании пакетов см. в следующих разделах:

Настройка пакета

Задать свойства можно в окне Свойства среды Business Intelligence Development Studio или программными средствами.

Дополнительные сведения об установке этих свойств приведены в следующих разделах:

Программная настройка пакета

Дополнительные сведения об установке этих свойств программным способом см. в следующем разделе.

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

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

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