Контейнеры служб Integration Services
Контейнеры в службах SQL Server Integration Services представляют собой объекты, содержащие структуру пакетов и службы для задач. Они поддерживают повторение потоков управления в пакетах, а также группируют задачи и контейнеры в единые рабочие объекты. Кроме задач контейнеры могут включать другие контейнеры.
Пакеты используют контейнеры для следующих целей.
Повторение задач для каждого элемента коллекции: файлов, папок, схем или управляющих объектов SQL Server (SMO). Например, пакет может выполнять инструкции Transact-SQL, размещенные в нескольких файлах.
Повторение задач до тех пор, пока значение определенного выражения не будет равно false. Например, пакет может посылать разные сообщения по электронной почте семь раз, один раз в каждый день недели.
Группирование задач и контейнеров, успешное или аварийное выполнение которых учитывается как для единого объекта. Например, пакет может группировать задачи, удаляющие и добавляющие строки в таблице базы данных, а затем фиксировать их или же производить откат всех задач в случае сбоя одной из них.
Типы контейнеров
Службы Integration Services поддерживают четыре типа контейнеров для построения пакетов. В следующей таблице перечислены типы контейнеров.
Контейнер |
Описание |
---|---|
Повторяет запуск потока управления для каждого элемента, используя перечислитель. |
|
Повторяет запуск потока управления с проверкой условия. |
|
Группирует задачи и контейнеры в потоки управления, являющиеся частью потока управления пакета. |
|
Обеспечивает поддержку служб для отдельной задачи. |
Пакеты и обработчики событий также являются типами контейнеров. Дополнительные сведения см. в разделах Пакеты служб Integration Services и Обработчики событий служб Integration Services.
Сводка свойств контейнера
Все типы контейнеров имеют набор общих свойств. При создании пакетов с помощью графических средств, предоставляемых службами 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.
Управление очередностью
Элементы управления очередностью связывают контейнеры и задачи из одного родительского контейнера в упорядоченный поток управления. Дополнительные сведения см. в разделе Управление очередностью.
Обработчики событий
Обработчики события на уровне контейнера реагируют на события, инициируемые контейнером или объектами, содержащимися в нем. Дополнительные сведения см. в разделе Обработчики событий служб Integration Services.
Переменные
Переменные, используемые в контейнерах, включают системные переменные уровня контейнера, поддерживаемые службами Integration Services, а также пользовательские переменные, используемые контейнером. Дополнительные сведения см. в разделе Переменные служб Integration Services.
|