Системные переменные
Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure
Службы SQL Server Integration Services предоставляют набор системных переменных, которые хранят сведения о запущенном пакете и его объектах. Эти переменные можно использовать в выражениях и в выражениях свойств для настройки пакетов, контейнеров, задач и обработчиков событий.
Все переменные, системные и определяемые пользователем, можно использовать в привязках параметров, которые используются задачей "Выполнение SQL" для сопоставления переменных и параметров.
Системные переменные для пакетов
В следующей таблице описываются системные переменные, предоставляемые службами Integration Services для пакетов.
Системная переменная | Тип данных | Description |
---|---|---|
CancelEvent | Int32 | Дескриптор объекта Windows Event, с помощью которого задача может показать, что выполнение задачи должно быть остановлено. |
ContainerStartTime | Дата/время | Время запуска контейнера. |
CreationDate | Дата/время | Дата создания пакета. |
CreatorComputerName | Строка | Компьютер, на котором создан пакет. |
CreatorName | Строка | Имя программиста, построившего пакет. |
ExecutionInstanceGUID | Строка | Уникальный идентификатор выполняемого экземпляра пакета. |
FailedConfigurations | Строка | Имена конфигураций пакета, в которых возникла ошибка. |
IgnoreConfigurationsOnLoad | Логический | Указывает, должны ли конфигурации пакета не учитываться при загрузке пакета. |
InteractiveMode | Логический | Указывает, выполняется ли пакет в интерактивном режиме. Если пакет выполняется в конструкторе служб SSIS, это свойство имеет значение True. Если пакет запущен программой командной строки DTExec , это свойство равно False. |
LocaleId | Int32 | Локаль, используемый пакетом. |
MachineName | Строка | Имя компьютера, на котором запущен пакет. |
OfflineMode | Логический | Указывает, работает ли пакет в режиме «вне сети». Режим «вне сети» не может запрашивать соединения к источникам данных. |
PackageID | Строка | Уникальный идентификатор пакета. |
PackageName | Строка | Имя пакета. |
StartTime | Дата/время | Время, когда был запущен пакет. |
ServerExecutionID | Int64 | Идентификатор выполнения пакета, выполняемого на сервере Служб Integration Services. Значение по умолчанию равно нулю. Значение изменяется только в том случае, если пакет выполняется ISServerExec на сервере служб Integration Services. При наличии дочернего пакета значение передается из родительского пакета в дочерний. |
UserName | Строка | Имя учетной записи пользователя, запустившего пакет. Это имя пользователя дополняется именем домена. |
VersionBuild | Int32 | Версия пакета. |
VersionComment | Строка | Примечания о версии пакета. |
VersionGUID | Строка | Уникальный идентификатор версии. |
VersionMajor | Int32 | Полнофункциональная версия пакета. |
VersionMinor | Int32 | Сокращенная версия пакета. |
Системные переменные для контейнеров
В следующей таблице описываются системные переменные, предоставляемые службами Integration Services для контейнеров "Цикл", "Цикл foreach" и "Последовательность".
Системная переменная | Тип данных | Description | Контейнер |
---|---|---|---|
LocaleId | Int32 | Локаль, используемый контейнером. | Контейнер "Цикл по элементам" Контейнер «цикл по каждому элементу» контейнер последовательности |
Системные переменные для задач
В следующей таблице описываются системные переменные, предоставляемые службами Integration Services для задач.
Системная переменная | Тип данных | Description |
---|---|---|
CreationName | Строка | Имя задачи. |
LocaleId | Int32 | Локаль, используемый задачей. |
TaskID | Строка | Уникальный идентификатор экземпляра задачи. |
TaskName | Строка | Имя данного экземпляра задачи. |
TaskTransactionOption | Int32 | Режим транзакции, используемый задачей. |
Системные переменные для обработчиков событий
В следующей таблице описаны системные переменные, предоставляемые службами Integration Services для обработчиков событий. Не все переменные доступны для всех обработчиков событий.
Системная переменная | Тип данных | Description | Обработчик событий |
---|---|---|---|
Cancel | Логический | Указывает, должен ли обработчик события останавливать задачу при возникновении ошибки, предупреждения или отмены запроса. | Обработчик события OnError Обработчик события OnWarning Обработчик события OnQueryCancel |
ErrorCode | Int32 | Идентификатор ошибки. | Обработчик события OnError Обработчик события OnInformation Обработчик события OnWarning |
ErrorDescription | Строка | Описание ошибки. | Обработчик события OnError Обработчик события OnInformation Обработчик события OnWarning |
ExecutionStatus | Логический | Текущее состояние выполнения. | Обработчик события OnExecStatusChanged |
ExecutionValue | DBNull | Результат выполнения. | Обработчик события OnTaskFailed |
LocaleId | Int32 | Локаль, используемый обработчиком события. | Все обработчики событий |
PercentComplete | Int32 | Процент выполненной работы. | Обработчик события OnProgress |
ProgressCountHigh | Int32 | Старшая часть 64-разрядного значения, указывающего общее число операций, обработанных событием OnProgress. | Обработчик события OnProgress |
ProgressCountLow | Int32 | Младшая часть 64-разрядного значения, указывающего общее число операций, обработанных событием OnProgress. | Обработчик события OnProgress |
ProgressDescription | Строка | Описание хода выполнения. | Обработчик события OnProgress |
Propagate | Логический | Указывает, будет ли событие передаваться обработчику события верхнего уровня. Примечание. Значение переменной Propagate не учитывается при проверке пакета. Если в дочернем пакете для Propagate задано значение False , это не препятствует распространению события в родительский пакет. |
Все обработчики событий |
SourceDescription | Строка | Описание исполняемого объекта в обработчике события, вызвавшего данное событие. | Все обработчики событий |
SourceID | Строка | Уникальный идентификатор исполняемого объекта в обработчике события, вызвавшего данное событие. | Все обработчики событий |
SourceName | Строка | Имя исполняемого объекта в обработчике события, вызвавшего данное событие. | Все обработчики событий |
VariableDescription | Строка | Описание переменной. | Обработчик событий OnVariableValueChanged |
VariableID | Строка | Уникальный идентификатор переменной. | Обработчик событий OnVariableValueChanged |
Системные переменные в привязках параметров
Часто оказывается полезным сохранять значения системных переменных в таблицах при запуске пакета. Например, при запуске пакета, который динамически создает таблицу и записывает код GUID пакета экземпляра выполнения пакета, создавшего таблицу в столбце таблицы.
При использовании системных переменных для сопоставления параметров в инструкции SQL, используемой в задаче «Выполнение SQL», важно задать тип данных каждой привязки параметров равным типу данных системной переменной. В противном случае значения системных переменных могут быть преобразованы неправильно. Например, если строковая системная переменная ExecutionInstanceGUID со строкой, представляющей GUID выполняемого экземпляра пакета, используется при привязке параметра с типом данных GUID, GUID экземпляра пакета будет преобразован неправильно.
Это правило также применяется к определяемым пользователем переменным. Тип данных системных переменных изменить нельзя, но если необходимо изменить их использование, учитывая соответствие типов данных, то определяемые пользователем переменные оказываются более удобным выбором. Определяемые пользователем переменные, используемые в привязках параметров, обычно имеют типы данных, которые совместимы с типами данных параметров, с которыми они сопоставляются.
Связанные задачи
Сопоставление параметров запроса с переменными в задаче «Выполнение SQL»