Vamos seguir avanzando en temas de despliegue. En primer lugar vamos a utilizar la utilidad de implementación del paquete para agrupar los archivos necesarios en una misma carpeta. Para ello, necesitamos indicar en las propiedades del proyecto e indicarle que podremos actualizar la configuración del paquete una vez desplegado. Iremos al ‘Explorador de soluciones‘, haremos clic con el botón derecho sobre nuestro proyecto y elegiremos ‘Propiedades‘, accederemos a la ‘utilidad de implementación (deployment utility)‘ y pondremos AllowConfigurationChanges a True.

Figura 1. Propiedades de Configuración de paquetes.

 

También podemos generar la utilidad de despliegue, poniendo a True la propiedad CreateDeploymentUtility, en esta misma ventana.

Al generar (Deploy) el proyecto se crea un archivo de manifiesto en la carpeta ‘bindeployment‘ de dicho proyecto, allí se crea también una copia de los diferentes paquetes .dtsx del mismo y de los archivos XML de configuración. En nuestro caso en concreto, en dicha carpeta tendremos tres archivos:

  • ‘Configuracion de paquetes.SSISDeploymentManifest’, manifiesto.
  • ‘Importar Empleados.dtsx’, nuestro paquete dtsx
  • ‘Prueba01.dtsConfig’, archivo XML de configuración que creamos anteriormente.

Con todo ello ya podremos utilizar el Asistente para la instalación de paquetes, simplemente haciendo doble clic en el archivo .SSISDeploymentManifest y seguir los pasos que allí se indican. Por cuestiones de espacio dejo como tarea pendiente al lector, el hacer uso y probar esta utilidad. También podemos trasladar paquetes utilizando la utilidad de línea de comandos DTUTIL, para lo que no será necesario el archivo anterior (éste sólo es utilizado por la utilidad de instalación citada anteriormente, en cualquier otro caso vamos a prescindir de él). Pero en este caso lo vamos a hacer de forma manual, para conocer con detalle lo que finalmente acaban haciendo estas utilidades.

Copiaremos el archivo ‘Prueba01.dtsConfig‘ a la carpeta ‘D:SSISConfig‘ en el servidor de destino, la cual tiene ya aplicada la seguridad a nivel del File System (NTFS) para evitar accesos no deseados. Copiaremos el archivo ‘Importar Empleados.dtsx‘ a una carpeta temporal que hay en dicha máquina, llamada ‘D:Borrar‘, dicho archivo deberemos borrar una vez terminada la importación. Abriremos el SQL Server Management Studio para realizar la importación de dicho paquete en la base de datos MSDB. Para ello, una vez conectados al servicio de Integration Services, sobre la carpeta MSDB, pulsamos botón derecho y hacemos clic en la opción ‘Importar

Figura 2. Conexión al servidor de Integration Services

Figura 3. Opción Importar paquete desde el explorador de objetos

Figura 4. Datos del paquete a importar

 

Bien, pues ya tenemos nuestro paquete desplegado en el servidor, y nuestro archivo de configuración XML también subido a la carpeta del servidor.

También deberemos tener disponible la base de datos ‘Configuracion‘ con la tabla ‘dbo. SSIS Configurations‘ en el servidor que hayamos decidido, en nuestro caso en el propio servidor de SSIS.

Es el momento de ejecutar nuestro paquete, simplemente nos posicionamos sobre él con el cursor, pulsamos botón derecho y hacemos clic en ‘Ejecutar paquete‘, mostrándose la siguiente ventana, en la que indicamos su nombre y ubicación, y la ruta al archivo de configuración.

Figura 5. Utilidad de ejecución de paquetes, menú General

 

Vamos al menú ‘Configuraciones‘ y agregamos el archivo de configuración XML

Figura 6. Utilidad de ejecución de paquetes, menú Configuraciones

Finalmente, pulsamos el botón ‘Ejecutar‘.

Hay otras alternativas para la ejecución de paquetes, lo podemos hacer desde la línea de comandos utilizando DTEXEC, y pasando los parámetros apropiados, incluido el nombre del archivo de configuración.

Como hemos visto, podemos ejecutar cualquier paquete, tanto desde una utilidad gráfica como desde la línea de comandos. Pero es muy habitual que estas tareas no las hagamos de forma interactiva, sino que las queramos programar para que se ejecuten periódicamente, y en muchas ocasiones a horas en las que deberíamos estar en casa, o al menos fuera del trabajo 🙂

 

Salvador Ramos

Former worker at SolidQ
Salvador Ramos

Latest posts by Salvador Ramos (see all)