Контейнеры служб Integration Services
Контейнеры в службах SQL Server Службы Integration Services представляют собой объекты, содержащие структуру пакетов и службы для задач. Они поддерживают повторение потоков управления в пакетах, а также группируют задачи и контейнеры в единые рабочие объекты. Кроме задач контейнеры могут включать другие контейнеры.
Пакеты используют контейнеры для следующих целей.
Повторение задач для каждого элемента коллекции: файлов, папок, схем или управляющих объектов SQL Server (SMO). Например, пакет может выполнять инструкции Transact-SQL, размещенные в нескольких файлах.
Повторение задач до тех пор, пока значение определенного выражения не будет равно
false
. Например, пакет может посылать разные сообщения по электронной почте семь раз, один раз в каждый день недели.Группирование задач и контейнеров, успешное или аварийное выполнение которых учитывается как для единого объекта. Например, пакет может группировать задачи, удаляющие и добавляющие строки в таблице базы данных, а затем фиксировать их или же производить откат всех задач в случае сбоя одной из них.
Типы контейнеров
Службы Integration Services поддерживают четыре типа контейнеров для построения пакетов. В следующей таблице перечислены типы контейнеров.
Контейнер | Описание |
---|---|
Контейнер «цикл по каждому элементу» | Повторяет запуск потока управления для каждого элемента, используя перечислитель. |
Контейнер «цикл по элементам» | Повторяет запуск потока управления с проверкой условия. |
контейнер последовательности | Группирует задачи и контейнеры в потоки управления, являющиеся частью потока управления пакета. |
контейнер «Сервер задач» | Обеспечивает поддержку служб для отдельной задачи. |
Пакеты и обработчики событий также являются типами контейнеров. Дополнительные сведения см. в разделах Пакеты Integration Services (SSIS) и Обработчики событий Integration Services (SSIS).
Сводка свойств контейнера
Все типы контейнеров имеют набор общих свойств. При создании пакетов с помощью графических средств, предоставляемых службами Службы Integration Services , в окне «Свойства» перечисляются следующие свойства контейнеров «цикл по каждому элементу», «цикл по элементам» и контейнеров последовательности. Настройка свойств контейнера сервера задач является частью настройки задачи, которую инкапсулирует сервер задач. При настройке задачи настраиваются и свойства сервера задачи.
Свойство | Описание |
---|---|
DelayValidation |
Логическое значение, указывающее, откладывается ли проверка контейнера до времени выполнения. Значение этого свойства по умолчанию — False .Для получения дополнительной информации см. DelayValidation. |
Description |
Описание контейнера. Свойство содержит строку, но может быть пустым. Для получения дополнительной информации см. Description. |
Disable |
Логическое значение, указывающее, запущен ли контейнер. Значение этого свойства по умолчанию — 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. |
ID |
Идентификатор 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 |
Имя контейнера. Дополнительные сведения см. в разделе Name. |
TransactionOption |
Участие контейнера в транзакции. Допустимые значения — NotSupported , Supported , Required . Значение по умолчанию этого свойства равно Supported . Дополнительные сведения см. в разделе DTSTransactionOption. |
Чтобы узнать о всех свойствах, доступных для контейнеров «цикл по каждому элементу», «цикл по элементам», контейнеров последовательности и сервера задач при настройке свойств программно, см. следующие разделы по 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 и Контейнеры служб Integration Services.
Управление очередностью
Элементы управления очередностью связывают контейнеры и задачи из одного родительского контейнера в упорядоченный поток управления. Дополнительные сведения см. в статье Precedence Constraints.
Обработчики событий
Обработчики события на уровне контейнера реагируют на события, инициируемые контейнером или объектами, содержащимися в нем. Дополнительные сведения см. в разделе Обработчики событий Integration Services (SSIS).
Переменные
Переменные, используемые в контейнерах, включают системные переменные уровня контейнера, предоставляемые службами Службы Integration Services , а также пользовательские переменные, используемые контейнером. Дополнительные сведения см. в статье Переменные в службах Integration Services (SSIS).
Точки останова
Если задается точка останова в контейнере и условием останова является Приостановить выполнение при получении контейнером события OnVariableValueChanged, определите переменную в области контейнера.