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

Применимо к: SQL Server Integration Runtime служб SSIS в Фабрика данных Azure

Службы SQL Server Службы Integration Services предоставляют набор системных переменных, в которые записываются данные о запуске пакета и его объектах. Эти переменные можно использовать в выражениях и в выражениях свойств для настройки пакетов, контейнеров, задач и обработчиков событий.

Все переменные, системные и определяемые пользователем, можно использовать в привязках параметров, которые используются задачей "Выполнение SQL" для сопоставления переменных и параметров.

Системные переменные для пакетов

В следующей таблице описываются системные переменные, предоставляемые службами Службы Integration Services для пакетов.

Системная переменная Тип данных Описание
CancelEvent Int32 Дескриптор объекта Windows Event, с помощью которого задача может показать, что выполнение задачи должно быть остановлено.
ContainerStartTime Дата и время Время запуска контейнера.
CreationDate Дата и время Дата создания пакета.
CreatorComputerName Строка Компьютер, на котором создан пакет.
CreatorName Строка Имя программиста, построившего пакет.
ExecutionInstanceGUID Строка Уникальный идентификатор выполняемого экземпляра пакета.
FailedConfigurations Строка Имена конфигураций пакета, в которых возникла ошибка.
IgnoreConfigurationsOnLoad Логическое значение Указывает, должны ли конфигурации пакета не учитываться при загрузке пакета.
InteractiveMode Логическое значение Указывает, выполняется ли пакет в интерактивном режиме. Если пакет выполняется в конструкторе служб Integration Services , это свойство равно 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 для контейнеров "цикл по каждому элементу", "цикл по элементам" и контейнеров последовательности.

Системная переменная Тип данных Описание Контейнер
LocaleId Int32 Локаль, используемый контейнером. Контейнер «цикл по элементам»

Контейнер «цикл по каждому элементу»

контейнер последовательности

Системные переменные для задач

В следующей таблице описаны системные переменные, предоставляемые службами Службы Integration Services для задач.

Системная переменная Тип данных Описание
CreationName Строка Имя данной задачи.
LocaleId Int32 Локаль, используемый задачей.
TaskID Строка Уникальный идентификатор экземпляра задачи.
TaskName Строка Имя данного экземпляра задачи.
TaskTransactionOption Int32 Режим транзакции, используемый задачей.

Системные переменные для обработчиков событий

В следующей таблице описаны системные переменные, предоставляемые службами Службы Integration Services для обработчиков событий. Не все переменные доступны для всех обработчиков событий.

Системная переменная Тип данных Описание Обработчик событий
Отмена Логическое значение Указывает, должен ли обработчик события останавливать задачу при возникновении ошибки, предупреждения или отмены запроса. Обработчик события 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»