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


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

Службы 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 экземпляра пакета будет преобразован неправильно.

Это правило также применяется к определяемым пользователем переменным. Тип данных системных переменных изменить нельзя, но если необходимо изменить их использование, учитывая соответствие типов данных, то определяемые пользователем переменные оказываются более удобным выбором. Определяемые пользователем переменные, используемые в привязках параметров, обычно имеют типы данных, которые совместимы с типами данных параметров, с которыми они сопоставляются.

Значок служб Integration Services (маленький) Будьте в курсе новых возможностей cлужб Integration Services

Чтобы загружать новейшую документацию, статьи, образцы и видеоматериалы от корпорации Майкрософт, а также лучшие решения от участников сообщества, посетите страницу служб Integration Services на сайтах MSDN или TechNet:

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.