SQL Server 2016 tiene algunas mejoras emocionantes para SQL Server Integration Services. En este artículo veremos cómo el problema de un despliegue de paquete individual a un Catálogo SSIS ha sido resuelto con esta publicación de SQL Server.
Prerrequisitos
Las demostraciones en este artículo fueron conducidas usando SQL Server 2016 RC3 y Visual Studio Community 2015.
Antecedentes
En mi experiencia personal, entregar soluciones de SQL Server Business Intelligence usando SQL Server Data Tools (SSDT) es de lejos una experiencia más favorable comparada a su predecesora, Business Intelligence Development Studio (BIDS). Algunas de las muchas ventajas que hace a SSDT mejor que BIDS varían desde características como múltiples modelos de despliegue de los cuales elegir, mecanismos de registro del catálogo de paquetes integrados, a cosas triviales como la habilidad de deshacer o rehacer cambios en sus paquetes SSIS.
La mayoría de las características mencionadas relacionadas con paquetes SSIS como el registro de catálogo están disponibles sólo en el modelo de despliegue del proyecto. Desafortunadamente, una de las limitaciones clave en el modelo de despliegue de proyecto es su inhabilidad para desplegar paquetes individuales. Por ejemplo, si usted tuviera que re factorizar Package 73 en una solución con 100 paquetes, usted tendrá que re desplegar la solución entera con todos los 100 paquetes, incluso cuando usted hizo cambios a un solo paquete. Las Figuras 1 y 2 ilustran la falta de la limitación, por lo cual, la opción Deploy está disponible a nivel del proyecto de una solución SSDT 2013, pero desaparece cuando se intenta desplegar un paquete individual, PackageC.
El único camino alternativo para esta limitación fue primero convertir el modelo de despliegue de proyecto existente a modelo de despliegue de paquete y luego desplegar la solución convertida. De todos modos, esta vía alternativa ha sido siempre inefectiva, dado que los modelos de despliegue de paquetes no están configurados para hacer despliegues en el Catálogo SSIS, lo que significaba que cada vez que usted convertía desde proyecto a modelo de despliegue de paquete, usted tenía que adelantarse a características inherentemente disponibles en el Catálogo SSIS.
Cómo Desplegar un Paquete Individual al Catálogo SSIS
-
Visual Studio
Afortunadamente, con la publicación de SQL Server 2016 y SSDT 2015, el problema del despliegue de un paquete individual es ahora una cosa del pasado. Por ejemplo, la Figura 3 muestra un proyecto SSIS 2016 con la nueva opción Deploy Package que viene para desplegar paquetes individuales dentro de un modelo de despliegue de proyecto. ¡Esto significa que usted ya no tiene que convertir el despliegue del paquete antes de que pueda desplegar paquetes individuales!
Figura 3. Modelo de Despliegue de Proyecto en SSDT 2015 Con esta nueva característica, usted no está limitado a desplegar paquetes individuales, en lugar de eso puede también desplegar múltiples paquetes. Como se muestra en la Figura 4, todo lo que necesita hacer es hacer clic y mantener la tecla control (Ctrl) y luego elegir los paquetes que desea desplegar.
Figura 4: Despliegue de Múltiples Paquetes en SSDT 2015 Hasta ahora he demostrado cómo puede desplegar un paquete individual, así como múltiples paquetes dentro del modelo de despliegue de proyecto. Así que, ¿qué pasa si, como en la Figura 3, usted ha elegido desplegar PackageB, pero después de que ha sido redirigido a la pantalla Deployment Wizard se da cuenta de que realmente usted necesitaba desplegar PackageA también? Bien, en esta versión de SSDT 2015/SSIS 2016, usted aún puede corregir más adelante su selección previa a desplegar al Catálogo SSIS.
Todo lo que necesita hacer es volver al paso Select Source y seleccionar (deseleccionar) el paquete que desea añadir/remover en su despliegue, como se muestra en la Figura 5.
Nota: Integration Services Deployment Wizard a menudo salta desde el paso Introduction al paso Select Destination. Así que, si usted desea ir al paso Select Source, usted tendrá que hacer clic en el botón Previous.
Figura 5: Integration Services Deployment Wizard -
ISDeploymentWizard
Generalmente, muchas características en Visual Studio son generadas como programas ejecutables autónomos. No es sorpresa que cuando sea que usted hace clic en Deploy o Deploy Package en SSDT 2015, Visual Studio lanza una aplicación separada, ISDeploymentWizard – como se muestra en la Figura 6.
Figura 6: Localización del archivo ISDeploymentWizard Por lo tanto, otra manera de desplegar paquetes es lanzar la aplicación ISDeploymentWizard directamente. Hay ventajas y desventajas para desplegar paquetes directamente desde el asistente. Una ventaja es que, dado que Visual Studio a veces puede consumir más de los recursos de su sistema como la memoria y CPU, como se muestra en la Figura7, desplegar paquetes directamente desde el asistente probablemente le salvará de una experiencia de posible cuello de botella para el desempeño del sistema.
Figura 7: Administrador de Tareas Previamente a lanzar el asistente de despliegue, Visual Studio recolecta toda la información que será parte del despliegue y la pasa al asistente. Es por eso que el paso Select Source es a menudo saltado, ya que ya está precargado con la información de la fuente recolectada por Visual Studio. Desafortunadamente, cuando se lanza el asistente directamente, usted obtiene una pantalla vacía, como se muestra en la Figura 8, y tendrá que especificar todo desde el principio.
Figura 8: Administrador de tareas -
Despliegue con la Línea de Comandos
Los despliegues desde la línea de comando son usualmente necesarios cuando el despliegue de SSIS está automatizado o administrado como parte de un proceso de Integración Continua. El despliegue de paquetes por línea de comando al catálogo es de nuevo posible vía el archivo ejecutable ISDeploymentWizard.
La parte más difícil en este tipo de despliegue es tener correcta la sintaxis de la línea de comandos. La forma más fácil de obtener la sintaxis del comando es copiarla de la página de resumen del asistente, como se muestra en la Figura 9.
Figura 9: Pantalla de resumen de despliegue
El siguiente paso sería luego lanzar el programa de línea de comando de Windows y cambiar la ruta directamente a la ruta de SQL Server que contiene el archivo exe ISDeploymentWizard. Finalmente, usted sólo necesita pasar el comando copiado arriba y presionar Enter para desplegar, como se muestra en la Figura 10.
Luego de una nueva línea con ruta al directorio de trabajo aparecerá, lo que significa que su despliegue fue exitoso. Otra manera de confirmar que el despliegue fue exitoso es ver el número de versión de su proyecto – la versión actual debería haberse desplegado en un tiempo cercano al tiempo en que desplegó vía la línea de comandos.
Conclusión
Con todas sus desventajas, SSDT ha fallado previamente en atender el problema alrededor del despliegue individual o manual de paquetes al Catálogo SSIS. De todas maneras, el lanzamiento reciente de SSDT 2015 para desarrollar soluciones BI en SQL Server 2016 introduce varias formas de desplegar paquetes individuales sin convertir a modelo de despliegue de paquetes.
Referencias
- Entendiendo el Impacto de las sugerencias NOLOCK y WITH NOLOCK en SQL Server - May 28, 2018
- Cómo reemplazar caracteres especiales ASCII en SQL Server - May 25, 2018
- Convertir resultados de SQL Server a JSON - June 2, 2017