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