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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
La Figura 14 muestra como en el día, un paquete se ha ejecutado correctamente y otro ha fallado.
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
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.