Контейнеры служб 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, определите переменную в области контейнера.