Thomas LeBlanc

Implementación de paquetes en el catálogo de SQL Server Integration Services (SSISDB)

June 2, 2017 by

Desde la versión de SQL Server 2012, los paquetes de Integration Services (SSIS) se pueden implementar desde un solo origen para poder administrar la ejecución utilizando múltiples entornos. El catálogo SSIS es un contenedor de base de datos único para todos los paquetes implementados. Los archivos de configuración se reemplazan por entornos. Las versiones implementadas se almacenan históricamente y un paquete puede revertirse a una implementación anterior. Además de estas funciones, los informes internos con ayuda de un tablero de mandos ayudan a depurar errores o examinar el rendimiento en un tiempo dado.

Para poder utilizar estas funcionalidades, es necesario crear el Catálogo SSIS. El administrador del sistema de la instancia de SQL Server necesita crear el catálogo o un usuario con permisos para poder crear las bases de datos. La Figura 1 muestra el menú después de haber realizado el clic con el botón secundario en la carpeta Catálogo de Integration Services en SQL Server Management Studio (SSMS).


Figura 1 – Catálogo de Integration Services

La opción Crear catálogo … del menú de contexto abrirá la ventana Crear catálogo. Algunas configuraciones son necesarias para realizar su creación. La integración de CLR deben habilitarse en esta instancia. En el inicio de SQL Server, la ejecución automática de procedimientos almacenados de SSIS no necesariamente requiere estar habilitada. Lo más importante de este proceso, es proveer una contraseña segura para la gestión de este nuevo contenedor de base de datos.


Figura 2: Crear ventana de catálogo

Una vez realizada la configuración, una nueva base de datos se creará en esta instancia denominada SSISDB. La base de datos creada necesita el mismo mantenimiento que cualquier otra base de datos de producción en este sistema. Los elementos de mantenimiento incluyen copias de seguridad, reconstrucción/reorganización de índices y actualización de estadísticas. El modo de recuperación de la base de datos se hereda las propiedades de la base de datos Model como todas las bases de datos nuevas. El modo de recuperación simple es el adecuado para SSISDB debido a las implementaciones poco frecuentes en esta BD.


Figura 3: Catálogo SSIS Proyectos desplegados

Un usuario no necesita ser un miembro de SysAdmin para poder implementar proyectos (y paquetes) en el Catálogo. Existe una función de base de datos denominada ssis_admin en la base de datos SSISDB. Esta función ya contiene los permisos para implementar proyectos de Visual Studio. La cuenta de Active Directory (AD) de un desarrollador o un grupo de AD pueden ser agregados para ejecutar esta función.


Figura 4: Función de base de datos ssis_admin en SSISDB

La implementación de proyectos SSIS, junto con los paquetes del proyecto, se agregan a SQL Server 2012, así como en el Catálogo SSIS. Esta organización de paquetes en un proyecto SSIS permite compartir objetos, propiedades y valores entre los paquetes de un proyecto. La Figura 5 muestra el archivo project.param que está asociado a un proyecto SSIS.


Figura 5: Parámetros del proyecto

Este proyecto contiene varios paquetes. La base de datos y el servidor de origen se comparten con paquetes como DimProduct y DimCategory. La conexión es creada utilizando el Administrador de conexiones en la solución del proyecto, tal como se muestra en la Figura 6. No solamente los paquetes pueden compartir valores de parámetros, sino también comparte estas conexiones de base de datos. El ejemplo que se presenta contiene bases de datos de almacenamiento, de origen y de destino. El prefijo (project) se agrega a las conexiones de los gestores de conexión de paquetes tal como se muestra en la figura 6 bajo los objetos del paquete.


Figura 6: Administradores de Conexión de Proyectos

En el entorno presentado, el equipo de desarrollo utiliza un servidor independiente como equipo de prueba y sistema de producción. El uso de parámetros de proyecto permite que un solo cambio efectúe varios paquetes en el proyecto. Para implementar el proyecto en el Catálogo SSIS, realice un clic con el botón secundario en el proyecto en el explorador de soluciones de Visual Studio.


Figura 7: Implementar proyectos y paquetes

El Asistente para la implementación de Integration Services le mostrará una pantalla de bienvenida. Puede desactivar esta pantalla para implementaciones futuras. El Select Source predeterminará el proyecto seleccionado mientras está en Visual Studio. El asistente le llevará primero a la página Select Destination, pero puede utilizar el botón Back para ir a la página Select Source. Se puede cambiar la selección de origen, pero normalmente se inicia el asistente de despliegue desde el proyecto que se está implementando. La Figura 8 nos muestra la pantalla Seleccionar destino en la que se selecciona el nombre del servidor y la ruta del catálogo de SSIS.


Figura 8: Seleccione la pantalla de destino del asistente de implementación de SSIS

El nombre del servidor es la instancia en la que se creó el Catálogo. La ruta puede ser una existente o se puede crear un Nuevo Camino. El mismo camino puede ser utilizado para diferentes proyectos. Todos los paquetes de proyectos estarán juntos bajo el proyecto en la ruta especificada.

La pantalla Review proporciona las opciones para ver el origen y el destino seleccionados. Una vez seleccionado el botón de Deploy en la pantalla Review, la pantalla Results muestra la lista de éxitos o una indicación de los fallos durante la implementación.


Figura 9: Pantalla de resultados del Asistente para la implementación de SSIS

Un paquete puede ser lanzado de múltiples formas. En SQL Server Management Server (SSMS), la carpeta Integration Services Catalog se puede expandir para ver las rutas creadas en el Catálogo. La Figura 10 muestra el menú al hacer clic con el botón derecho en el paquete DimCategory en el Catálogo de SSIS.


Figura 10: Ejecutar un paquete desde el catálogo de SSIS

Después de seleccionar Execute … en el menú, la ejecución requiere los parámetros, Administradores de conexión y Opciones avanzadas. La Figura 11 muestra los parámetros que se pueden cambiar antes de ejecutar el paquete DimCategory. En este lugar se pueden cambiar los nombres de servidor o base de datos para los parámetros del proyecto antes de la ejecución del paquete.


Figura 11: Ejecutar un paquete desde el catálogo de SSIS

Una de las características más interesantes del Catálogo SSIS es la inclusión de los informes gratuitos. La Figura 12 muestra el informe de ejecución que se puede mostrar después de lanzar el paquete. Hay un mensaje para ver o no ver el informe. Hay dos enlaces adicionales para ver en detalle en Mensajes y rendimiento. Las tareas individuales se pueden ver a detalle para mostrar mensajes de diferentes pasos del paquete.


Figura 12: Informe general sobre la ejecución de paquetes

Si existe un error, los mensajes son el mejor lugar para comenzar a depurar un paquete. Para ver el rendimiento de este paquete en el tiempo, haga clic en la vista del informe de performance drill down.

Hay un cuadro de mandos principal que se puede utilizar para ver una vista general de todos los paquetes que se ejecutan desde el catálogo. Este panel se inicia desde SSMS haciendo clic con el botón secundario en la carpeta SSISDB del catálogo de Integration Services. La Figura 13 muestra la ruta al informe.


Figura 13: Inicio del panel de servicios de Integration Services

La Figura 14 muestra como en el día, un paquete se ha ejecutado correctamente y otro ha fallado.


Figura 14: Cuadro de instrumentos de Integration Services

Cuando se hace clic en el número Failed, el siguiente informe tiene la capacidad de ver a detalle los mensajes devueltos de los pasos de éxito y fallo del paquete como en la Figura 15


Figura 15: Informe de mensajes de paquetes fallidos

Como puede ver, el Catálogo SSIS tiene gran cantidad de información y administración para proyectos y paquetes de SSIS. Los informes y las capacidades de exploración nos ayudan con problemas para realizar la depuración antes de abrir el paquete en Visual Studio. Los informes de rendimiento pueden brindarnos una idea sobre las demoras de paquetes al ejecutarse en la última ejecución que en las ejecuciones anteriores. El historial se puede configurar y se explica con mayor detalle en la nota al final de este artículo. El catálogo es un excelente lugar para almacenar, administrar la implementación y ejecución de paquetes de SSIS.

Enlaces útiles

Notas adicionales

Otras opciones de configuración están disponibles accediendo a las propiedades del catálogo de Integration Services desde SSMS. La limpieza de registros periódicamente se puede configurar en verdadero o en falso. Esta configuración habilita o deshabilita un trabajo del agente de SQL Server que se ejecuta en una hora programada. El período de retención (días) indica al trabajo cuánto tiempo requiere para mantener un historial de la ejecución de los paquetes.

Las descripciones de las opciones de nivel de registro predeterminado de todo el servidor se pueden ver en el siguiente enlace: Habilitar el registro para la ejecución de paquetes en el servidor SSIS.. El número máximo de versión por proyecto nos indica cuántas implementaciones se guardarán en el catálogo de un proyecto. La purga de estas versiones puede ser controlada por la propiedad Eliminar periódicamente versiones antiguas.


Figura 16: Propiedades del catálogo

 
Thomas LeBlanc
Paquetes SSIS

Acerca de Thomas LeBlanc

Thomas LeBlanc es un Arquitecto de Data Warehouse en Baton Rouge, Los Angeles. Actualmente trabaja en el diseño de modelos dimensionales en el área financiera utilizando Integración (SSIS) y Analysis Services (SSAS) para el desarrollo y SSRS junto con Power BI para la generación de informes. Comenzó como desarrollador en COBOL en la Universidad del estado de Luisiana (LSU), él ha sido un desarrollador, un encargado de pruebas de software, un administrador proyectos, un líder de equipo así como un instructor del de documentación de software. Su participación en la comunidad de SQL Server incluye las actividades de hablar en SQLPASS.org Summits y SQLSaturday desde 2011 y ha sido ponente en IT/Dev Connections y Live! 360. Actualmente, es el presidente del Virtual Chapter de Inteligencia de Negocios Excel de PASS y trabajó en el Comité de Nominación para la Junta de Directores de PASS para 2016. Ver todos los mensajes de Thomas LeBlanc

168 Views