Variables del sistema

SQL Server Integration Services proporciona un conjunto de variables del sistema que almacenan información sobre el paquete en ejecución y sus objetos. Estas variables se pueden usar en expresiones y expresiones de propiedad para personalizar paquetes, contenedores, tareas y controladores de eventos.

Todas las variables, del sistema y definidas por el usuario, se pueden utilizar en los enlaces de parámetros que utiliza la tarea Ejecutar SQL para asignar variables a parámetros.

Variables del sistema para paquetes

La siguiente tabla describe las variables del sistema que proporciona Integration Services para paquetes.

Variable del sistema

Tipo de datos

Descripción

CancelEvent

Int32

Identificador de un objeto de evento de Windows que la tarea puede señalar para indicar que la tarea debe dejar de ejecutarse.

CreationDate

DateTime

Fecha en que se creó el paquete.

CreatorComputerName

Cadena

Equipo en el que se creó el paquete.

CreatorName

Cadena

Nombre de la persona que creó el paquete.

ExecutionInstanceGUID

Cadena

Identificador exclusivo de la instancia de ejecución de un paquete.

InteractiveMode

Booleano

Indica si el paquete se ejecuta en modo interactivo. Si un paquete se ejecuta en el Diseñador SSIS, esta propiedad se establece en True. Si un paquete se ejecuta mediante la utilidad de símbolo del sistema DTExec, la propiedad se establece en False.

LocaleId

Int32

Configuración regional que usa el paquete.

MachineName

Cadena

Nombre del equipo en el que se está ejecutando el paquete.

OfflineMode

Booleano

Indica si el paquete está en el modo sin conexión. El modo sin conexión no adquiere conexiones a orígenes de datos.

PackageID

Cadena

Identificador único del paquete.

PackageName

Cadena

Nombre del paquete.

StartTime

DateTime

Hora a la que se inició la ejecución del paquete.

UserName

Cadena

Cuenta del usuario que inició el paquete. El nombre de usuario se encuentra calificado por el nombre de dominio.

VersionBuild

Int32

Versión del paquete.

VersionComment

Cadena

Comentarios acerca de la versión del paquete.

VersionGUID

Cadena

Identificador único de la versión.

VersionMajor

Int32

Versión principal del paquete.

VersionMinor

Int32

Versión secundaria del paquete.

Variables del sistema para contenedores

La siguiente tabla describe las variables del sistema que proporciona Integration Services para los contenedores de bucles For, Foreach y de secuencia.

Variable del sistema

Tipo de datos

Descripción

Contenedor

LocaleId

Int32

Configuración regional que usa el contenedor.

Contenedor de bucles For

Contenedor de bucles Foreach

Contenedor de secuencias

Variables del sistema para tareas

La siguiente tabla describe las variables del sistema que proporciona Integration Services para tareas.

Variable del sistema

Tipo de datos

Descripción

CreationName

Cadena

Nombre de la tarea.

LocaleId

Int32

Configuración regional que usa la tarea.

TaskID

Cadena

Identificador único de una instancia de tarea.

TaskName

Cadena

Nombre de la instancia de tarea.

TaskTransactionOption

Int32

Opción de transacción que usa la tarea.

Variables del sistema para los controladores de eventos

La siguiente tabla describe las variables del sistema que proporciona Integration Services para los controladores de eventos. No todas las variables están disponibles para todos los controladores de eventos.

Variable del sistema

Tipo de datos

Descripción

Controlador de eventos

Cancel

Booleano

Indica si el controlador de eventos deja de ejecutarse cuando se produce un error, advertencia o cancelación de consulta.

Controlador de eventos OnError

Controlador de eventos OnWarning

Controlador de eventos OnQueryCancel

ErrorCode

Int32

Identificador del error.

Controlador de eventos OnError

Controlador de eventos OnInformation

Controlador de eventos OnWarning

ErrorDescription

Cadena

Descripción del error.

Controlador de eventos OnError

Controlador de eventos OnInformation

Controlador de eventos OnWarning

ExecutionStatus

Booleano

Estado de ejecución actual.

Controlador de eventos OnExecStatusChanged

ExecutionValue

DBNull

Valor de ejecución.

Controlador de eventos OnTaskFailed

LocaleId

Int32

Configuración regional que usa el controlador de eventos.

Todos los controladores de eventos

PercentComplete

Int32

Porcentaje de trabajo completado.

Controlador de eventos OnProgress

ProgressCountHigh

Int32

Parte alta de un valor de 64 bits que indica la cantidad total de operaciones procesadas por el evento OnProgress.

Controlador de eventos OnProgress

ProgressCountLow

Int32

Parte baja de un valor de 64 bits que indica la cantidad total de operaciones procesadas por el evento OnProgress.

Controlador de eventos OnProgress

ProgressDescription

Cadena

Descripción del progreso.

Controlador de eventos OnProgress

Propagate

Booleano

Indica si el evento se propaga a un controlador de eventos de nivel más alto.

NotaNota
El valor de la variable Propagate se descarta durante la validación del paquete. Si establece Propagate en False en un paquete secundario, ello no evita que un evento se propague hasta el paquete primario. Para evitar que el paquete primario controle el evento, establezca la propiedad DisableEventHandlers de la tarea Ejecutar Paquete en True.

Todos los controladores de eventos

SourceDescription

Cadena

Descripción del ejecutable en el controlador de eventos que provocó el evento.

Todos los controladores de eventos

SourceID

Cadena

Descripción del identificador único del ejecutable en el controlador de eventos que provocó el evento.

Todos los controladores de eventos

SourceName

Cadena

Nombre del ejecutable en el controlador de eventos que provocó el evento.

Todos los controladores de eventos

VariableDescription

Cadena

Descripción de la variable.

Controlador de eventos OnVariableValueChanged

VariableID

Cadena

Identificador único de la variable.

Controlador de eventos OnVariableValueChanged

Usar variables del sistema en enlaces de parámetros

Con frecuencia resulta útil guardar los valores de variables del sistema en tablas cuando se ejecuta el paquete. Por ejemplo, un paquete que crea dinámicamente una tabla y escribe el GUID de la instancia de ejecución del paquete que creó la tabla en una columna de la tabla.

Si utiliza variables del sistema para asignar parámetros en la instrucción SQL que utiliza una tarea Ejecutar SQL, es importante que establezca el tipo de datos de cada parámetro enlazando al tipo de datos de la variable del sistema. De lo contrario, los valores de las variables del sistema se pueden traducir incorrectamente. Por ejemplo, si la variable del sistema ExecutionInstanceGUID, que tiene el tipo de datos de cadena y contiene una cadena que representa el GUID de la instancia de ejecución de un paquete, se utiliza en un enlace de parámetro con el tipo de datos del GUID, el GUID de la instancia del paquete se traducirá incorrectamente.

Esta regla se aplica también a las variables definidas por el usuario. No obstante, si bien los tipos de datos de las variables del sistema no se pueden cambiar y usted debe adaptar el uso de estas variables para que se ajusten a los tipos de datos, las variables definidas por el usuario son más flexibles. Las variables definidas por el usuario que se utilizan en enlaces de parámetros generalmente se definen con tipos de datos que son compatibles con los tipos de datos de parámetros a los que se asignan.

Icono de Integration Services (pequeño) Manténgase al día con Integration Services

Para obtener las más recientes descargas, artículos, ejemplos y vídeos de Microsoft, así como soluciones seleccionadas de la comunidad, visite la página de Integration Services en MSDN o TechNet:

Para recibir notificaciones automáticas de estas actualizaciones, suscríbase a las fuentes RSS disponibles en la página.