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


Контейнеры служб Integration Services

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

Контейнеры — это объекты в службах SQL Server Integration Services, которые предоставляют структуру пакетам и службам для задач. Они поддерживают повторение потоков управления в пакетах, а также группируют задачи и контейнеры в единые рабочие объекты. Кроме задач контейнеры могут включать другие контейнеры.

Пакеты используют контейнеры для следующих целей.

  • Повторяйте задачи для каждого элемента коллекции, например файлов в папке, схемах или объектах SMO. Например, пакет может выполнять инструкции Transact-SQL, размещенные в нескольких файлах.

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

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

Типы контейнеров

Службы Integration Services предоставляют четыре типа контейнеров для создания пакетов. В следующей таблице перечислены типы контейнеров.

Контейнер Description
Контейнер "Цикл по каждому элементу" Повторяет запуск потока управления для каждого элемента, используя перечислитель.
Контейнер «цикл по элементам» Повторяет запуск потока управления с проверкой условия.
Контейнер последовательности Группирует задачи и контейнеры в потоки управления, являющиеся частью потока управления пакета.
Контейнер «Сервер задач» Обеспечивает поддержку служб для отдельной задачи.

Пакеты и обработчики событий также являются типами контейнеров. Дополнительные сведения см. в разделах Пакеты Integration Services (SSIS) и Обработчики событий Integration Services (SSIS).

Сводка свойств контейнера

Все типы контейнеров имеют набор общих свойств. Если вы создаете пакеты с помощью графических инструментов, предоставляемых службами Integration Services, окно свойств перечисляет следующие свойства для контейнеров "Цикл foreach", "Цикл" и "Последовательность". Настройка свойств контейнера сервера задач является частью настройки задачи, которую инкапсулирует сервер задач. При настройке задачи настраиваются и свойства сервера задачи.

Свойство Description
DelayValidation Логическое значение, указывающее, откладывается ли проверка контейнера до времени выполнения. Значение этого свойства по умолчанию — False.

Дополнительные сведения см. в разделе DelayValidation.
Description Описание контейнера. Свойство содержит строку, но может быть пустым.

Дополнительные сведения см. в разделе Description.
Отключить Логическое значение, указывающее, запущен ли контейнер. Значение этого свойства по умолчанию — False.

Дополнительные сведения см. в разделе Disable.
DisableEventHandlers Логическое значение, указывающее, связаны ли обработчики событий с запуском контейнера. Значение этого свойства по умолчанию — False.
FailPackageOnFailure Логическое значение, указывающее, завершается ли работа пакета с ошибкой в случае ошибки в контейнере. Значение этого свойства по умолчанию — False.

Дополнительные сведения см. в разделе FailPackageOnFailure.
FailParentOnFailure Логическое значение, указывающее, завершается ли работа родительского контейнера с ошибкой в случае ошибки в контейнере. Значение этого свойства по умолчанию — False.

Дополнительные сведения см. в разделе FailParentOnFailure.
ForcedExecutionValue Если свойство ForceExecutionValue равно True, объект содержит необязательное значение выполнения для контейнера. Значение этого свойства по умолчанию равно 0.

Дополнительные сведения см. в разделе ForcedExecutionValue.
ForcedExecutionValueType Тип данных ForcedExecutionValue. Значение по умолчанию этого свойства равно Int32.
ForceExecutionResult Значение, определяющее вынужденный результат запуска пакета или контейнера. Допустимые значения: None, Success, Failureи Completion. Значение этого свойства по умолчанию — None.

Дополнительные сведения см. в разделе ForceExecutionResult.
ForceExecutionValue Логическое значение, указывающее, должно ли необязательное значение выполнения для контейнера содержать конкретное значение. Это свойство имеет значение по умолчанию False.

Дополнительные сведения см. в разделе ForceExecutionValue.
ИД Идентификатор GUID контейнера, назначаемый ему при создании пакета. Это свойство доступно только для чтения.

ID.
IsolationLevel Уровень изоляции транзакции контейнера. Допустимые значения — Unspecified, Chaos, ReadUncommitted, ReadCommitted, RepeatableRead, Serializableи Snapshot. Значение по умолчанию этого свойства равно Serializable. Дополнительные сведения см. в разделе IsolationLevel.
LocaleID Локаль Microsoft Win32. Значение этого свойства по умолчанию равно локали операционной системы на локальном компьютере.

Дополнительные сведения см. в разделе LocaleID.
LoggingMode Значение, определяющее для контейнера режим записи в журнал. Допустимые значения — Disabled, Enabledи UseParentSetting. Значение по умолчанию этого свойства равно UseParentSetting. Дополнительные сведения см. в разделе DTSLoggingMode.
MaximumErrorCount Максимальное число ошибок, после достижения которого выполнение контейнера прекращается. Значение этого свойства по умолчанию равно 1.

Дополнительные сведения см. в разделе MaximumErrorCount.
Имя Имя контейнера.

Дополнительные сведения см. в разделе Name.
TransactionOption Участие контейнера в транзакции. Допустимые значения — NotSupported, Supported, Required. Значение по умолчанию этого свойства равно Supported. Дополнительные сведения см. в разделе DTSTransactionOption.

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

  • T:Microsoft.SqlServer.Dts.Runtime.ForEachLoop

  • T:Microsoft.SqlServer.Dts.Runtime.ForLoop

  • T:Microsoft.SqlServer.Dts.Runtime.Sequence

  • T:Microsoft.SqlServer.Dts.Runtime.TaskHost

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

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

Исполняемые объекты

Исполняемыми объектами называются задачи уровня контейнера, а также любые контейнеры внутри контейнера. Исполняемый файл может быть одним из задач и контейнеров, предоставляемых службами Integration Services или пользовательской задачей. Дополнительные сведения см. в разделе Integration Services Tasks.

Управление очередностью

Элементы управления очередностью связывают контейнеры и задачи из одного родительского контейнера в упорядоченный поток управления. Дополнительные сведения см. в статье Precedence Constraints.

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

Обработчики события на уровне контейнера реагируют на события, инициируемые контейнером или объектами, содержащимися в нем. Дополнительные сведения см. в разделе Обработчики событий Integration Services (SSIS).

Переменные

Переменные, используемые в контейнерах, включают системные переменные уровня контейнера, предоставляемые службами Integration Services, и определяемые пользователем переменные, используемые контейнером. Дополнительные сведения см. в статье Переменные в службах Integration Services (SSIS).

Точки останова

Если задается точка останова в контейнере и условием останова является Приостановить выполнение при получении контейнером события OnVariableValueChanged, определите переменную в области контейнера.

См. также

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