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


Системные переменные

Область применения: среда выполнения интеграции 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»