Implementar inicios de sesión en paquetes

Integration Services incluye características de registro que escriben entradas del registro cuando se producen eventos en tiempo de ejecución y también pueden escribir mensajes personalizados.

Integration Services admite un variado conjunto de proveedores de registro y le permite crear proveedores de registro personalizados. Los proveedores de registro de Integration Services pueden escribir entradas del registro en archivos de texto, en el Analizador de SQL Server, en SQL Server, en el registro de eventos de Windows o en archivos XML.

Los registros se asocian a paquetes y se configuran en el nivel de paquete. Cada tarea o contenedor de un paquete puede registrar información en cualquier registro del paquete. Es posible habilitar las tareas y contenedores de un paquete para registro aunque el paquete no lo esté. Por ejemplo, puede habilitar el registro en una tarea Ejecutar SQL sin habilitar el registro en el paquete primario. Un paquete, un contenedor o una tarea pueden escribir en varios registros. Puede habilitar el registro solamente en el paquete, o en cualquier tarea o contenedor individual que incluya el paquete.

Para personalizar el registro de un evento o mensaje personalizado, Integration Services proporciona un esquema de la información registrada habitualmente que se puede incluir en entradas del registro. El esquema de registro Integration Services define la información que puede registrar. Puede seleccionar elementos del esquema de registro para cada entrada del registro.

Un paquete y sus contenedores y tareas no tienen que registrar la misma información; además, las tareas y contenedores de un mismo paquete pueden registrar diferente información. Por ejemplo, un paquete puede registrar información del operador al iniciarse, una tarea puede registrar el origen del error de la tarea y otra tarea puede registrar la información de cuándo se producen errores. Si un paquete y sus contenedores y tareas utilizan varios registros, se escribirá la misma información en todos los registros.

Puede seleccionar un nivel de registro adaptado a sus necesidades, especificando los eventos que desea registrar y la información que desea registrar para cada evento. Algunos eventos pueden proporcionarle más información útil que otros. Por ejemplo, puede registrar únicamente el nombre del equipo y del operador para el evento PreExecute, y toda la información disponible para el evento Error.

Para evitar que los archivos de registro utilicen una gran cantidad de espacio en disco o evitar el registro excesivo, que podría reducir el rendimiento, puede limitar el registro, seleccionando los eventos y elementos de información específicos que desee registrar. Por ejemplo, puede configurar un registro para capturar únicamente la fecha y el nombre del equipo para cada error.

En el Diseñador SSIS, puede definir las opciones de registro en el cuadro de diálogo Configurar registros de SSIS.

Esquema de registro

En la tabla siguiente se describen los elementos del esquema de registro.

Elemento

Descripción

Computer

Nombre del equipo en el que ocurrió el evento del registro.

Operator

La identidad del usuario que inició el paquete.

SourceName

Nombre del contenedor o la tarea en los que ocurrió el evento del registro.

SourceID

Identificador único del paquete; el contenedor de bucles For, bucles Foreach o secuencias, o bien la tarea en la que ocurrió el evento del registro.

ExecutionID

GUID de la instancia de ejecución del paquete.

NotaNota
Al ejecutar un paquete único, se podrían crear entradas de registro con valores diferentes para el elemento ExecutionID. Por ejemplo, al ejecutar un paquete en BI Development Studio, la fase de validación podría crear entradas de registro con un elemento ExecutionID que corresponda a BI Development Studio. Sin embargo, la fase de ejecución podría crear entradas de registro con un elemento ExecutionID que corresponda a dtshost.exe. Otro ejemplo de esta situación es cuando se ejecuta un paquete que contiene tareas Ejecutar paquete, cada una de las cuales ejecuta un paquete secundario. Estos paquetes secundarios podrían crear entradas de registro que tengan un elemento ExecutionID diferente al de las entradas de registro que crea el paquete principal.

MessageText

Mensaje asociado a la entrada del registro.

DataBytes

Matriz de bytes específica de la entrada del registro. El significado de este campo varía para cada entrada del registro.

En la tabla siguiente se describen tres elementos adicionales del esquema del registro que no están disponibles en la ficha Detalles del cuadro de diálogo Configurar registros de SSIS.

Elemento

Descripción

StartTime

Hora en que el contenedor o la tarea empieza a ejecutarse.

EndTime

Hora en que el contenedor o la tarea deja de ejecutarse.

DataCode

Valor entero opcional que normalmente contiene un valor de la enumeración DTSExecResult que indica el resultado de la ejecución del contenedor o tarea:

  • 0 (correcto)

  • 1 (error)

  • 2 (completado)

  • 3 (cancelado)

Entradas del registro

Integration Services admite entradas del registro en eventos predefinidos y proporciona entradas del registro personalizadas para muchos objetos de Integration Services. El cuadro de diálogo Configurar registros de SSIS del Diseñador SSIS enumera estos eventos y entradas del registro personalizadas.

En la tabla siguiente se describen los eventos predefinidos que se pueden habilitar para escribir entradas del registro cuando se producen eventos en tiempo de ejecución. Estas entradas del registro se aplican a los ejecutables, al paquete y a las tareas y contenedores que incluye el paquete. El nombre de la entrada del registro es el nombre del evento que se produjo en tiempo de ejecución y que originó la entrada del registro.

Eventos

Descripción

OnError

Escribe una entrada del registro cuando se produce un error.

OnExecStatusChanged

Escribe una entrada del registro cuando cambia el estado de ejecución del ejecutable.

OnInformation

Escribe una entrada del registro durante la validación y ejecución de un ejecutable, para proporcionar información.

OnPostExecute

Escribe una entrada del registro inmediatamente después de que termine de ejecutarse el ejecutable.

OnPostValidate

Escribe una entrada del registro cuando finaliza la validación del ejecutable.

OnPreExecute

Escribe una entrada del registro inmediatamente antes de que se ejecute el ejecutable.

OnPreValidate

Escribe una entrada del registro cuando se inicia la validación del ejecutable.

OnProgress

Escribe una entrada del registro cuando el ejecutable realiza un progreso que se puede medir.

OnQueryCancel

Escribe una entrada del registro en cualquier momento del procesamiento de la tarea en el que es posible cancelar la ejecución.

OnTaskFailed

Escribe una entrada del registro cuando una tarea genera un error.

OnVariableValueChanged

Escribe una entrada del registro cuando cambia el valor de una variable.

OnWarning

Escribe una entrada del registro cuando se produce una advertencia.

PipelineComponentTime

Por cada componente de flujo de datos, escribe una entrada de registro de cada fase de validación y ejecución. La entrada del registro especifica el tiempo de procesamiento para cada fase.

Diagnostic

Escribe una entrada de registro que proporciona información de diagnóstico.

Por ejemplo, puede registrar un mensaje antes y después de cada llamada a un proveedor de datos externo. Para obtener más información, vea Solucionar problemas de ejecución de paquetes.

El paquete y muchas tareas poseen entradas del registro personalizadas que se pueden habilitar para el registro. Por ejemplo, la tarea Enviar correo proporciona la entrada del registro personalizada SendMailTaskBegin, que registra información cuando se inicia la ejecución de la tarea Enviar correo, pero antes de que la tarea envíe un mensaje de correo electrónico. Para obtener más información, vea Mensajes personalizados para registro.

Diferenciar copias de paquetes

Los datos del registro incluyen el nombre y GUID del paquete al que pertenecen las entradas del registro. Si crea un nuevo paquete mediante la copia de un paquete existente, también se copian el nombre y GUID del paquete existente. Como resultado, puede tener dos paquetes con el mismo nombre y GUID, lo que dificulta la diferenciación entre los paquetes en los datos del registro.

Para eliminar esta ambigüedad, deberá actualizar el nombre y GUID de los nuevos paquetes. En Business Intelligence Development Studio, puede volver a generar el GUID en la propiedad ID y actualizar el valor de la propiedad Name en la ventana Propiedades. También puede cambiar el nombre y GUID mediante programación o con el símbolo del sistema de dtutil . Para obtener más información, vea Establecer las propiedades de paquete y Utilidad dtutil (Herramienta de SSIS).

Opciones del registro primario

Con frecuencia, las opciones de registro de tareas y de los contenedores de bucles For y Foreach y de secuencias coinciden con las del paquete o el contenedor primario. En ese caso, puede configurarlas para que hereden las opciones de registro del contenedor primario. Por ejemplo, en un contenedor de bucles For que incluya una tarea Ejecutar SQL, esta tarea puede utilizar las opciones de registro configuradas para el contenedor de bucles For. Para utilizar las opciones del registro primario, establezca la propiedad LoggingMode del contenedor en UseParentSetting. Puede establecer esta propiedad en la ventana Propiedades de Business Intelligence Development Studio o mediante el cuadro de diálogo Configurar registros de SSIS del Diseñador SSIS.

Plantillas de registro

En el cuadro de diálogo Configurar registros de SSIS, también puede crear y guardar como plantillas las configuraciones del registro que utiliza con frecuencia y después, utilizar las plantillas en distintos paquetes. Esto permite aplicar más fácilmente una estrategia de registro coherente entre varios paquetes y modificar las configuraciones del registro en los paquetes actualizando las plantillas y aplicándolas después. Las plantillas se almacenan en archivos XML.

Para configurar el registro con el cuadro de diálogo Configurar registros de SSIS

  1. Habilite el paquete y sus tareas para el registro. El registro se puede producir en el nivel de paquete, de contenedor y de tarea. Puede especificar diferentes registros para paquetes, contenedores y tareas.

  2. Seleccione un proveedor de registro y agregue un registro para el paquete. Solo se pueden crear registros en el nivel de paquete y una tarea o un contenedor deben utilizar uno de los registros creados para el paquete. Cada registro está asociado a uno de los proveedores de registro siguientes: archivo de texto, SQL Server Profiler, SQL Server, Registro de eventos de Windows o archivo XML. Para obtener más información, vea Cómo habilitar el registro en un paquete.

  3. Seleccione los eventos y la información del esquema de registro de cada evento que desee capturar en el registro. Para obtener más información, vea Cómo configurar el registro utilizando un archivo de configuración guardado.

Para ver las entradas de registro durante el desarrollo de paquetes

Recursos externos

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

Para obtener las descargas, los artículos, los ejemplos y los vídeos más recientes de Microsoft, así como las 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.