Introducción a la serie Acerca de MS SQL Server Integration Services

Durante este mes me propongo tocar, a través de ejemplos, varias de las funcionalidades encontradas en SSIS. Me propongo realizar una serie de tipo introductoria, con ejemplos de aquí, de allá y propios y resumiendo un grupo de cosas que me hubiera gustado tener claras cuando comencé a crear mis primeros paquetes.

A veces, hay gente que pregunta ¿Por qué escribes en la web? Es gente que sabe que me lleva mucho tiempo; pero no sabe que estos artículos pueden ser de ayuda para otros, como lo han sido y son, muchos de los que he leído y de los que tanto he aprendido que han sido generosamente subidos a la web por gente de varios sitios a los que seguramente no he agradecido lo suficiente. ¡ Muchas Gracias a todos !

Esta serie la quiero dedicar a los profesores del Máster en Gestión del Conocimiento y Business Intelligence con tecnología Microsoft impartido por Syntax Informática , especialmente a Jesús López, encargado de explicar los temas de SSIS y SSAS. Y a Francisco González (Paco) de Solid Quality por sus didácticos y esclarecedores ejemplos del uso de los paquetes SSIS mostrados en el Summit de Solid. Muchas gracias a ambos por sus enseñanzas.

Mucha gente escribe sobre SSIS, y afortunadamente, también en castellano. Por mencionar a un par de ellos, Miguel Egea escribe en PortalSQL mientras que Salvador Ramos lo hace en SQLServerSi y un grupo de gente de Solid Quality en su blog (ver ficha Spanish)

Y hasta yo escribí hace unos meses un par de artículos sobre de SSIS 🙂
SQL Server Integration Services … en muy pocas palabras, un caso sencillo II.
SQL Server Integration Services … en muy pocas palabras, un caso sencillo.

La idea ahora es mostrar algo de funcionalidad, ver algunas de las “cosas” que pueden hacer con los Servicios de integración de SQL Server 2008.

Así que, sin más, nos ponemos manos a la obra.

Cuando hablamos de un paquete de SSIS estamos hablando de una estructura que se va a encargar de la realización de tareas, de tipo ETL (Extract – Transform – Load) o de Administración de BBDD. Un paquete es la unidad de trabajo que se recupera, ejecuta y guarda, y el objeto de Integration Services más importante que se encuentra en el punto más alto de la jerarquía, está compuesto de varios elementos: Elementos de flujo de control, Componentes de flujo de datos, Administradores de conexiones, Variable, Controladores de eventos y Proveedores de registro.

El Flujo de control se encarga de gestionar el flujo de tareas de la aplicación, ya sean de tipo ETL, como envío de mensajes y archivos, recorrer archivos, tareas de Analysis services, o tareas de administración y mantenimiento de BBDD. Los componentes del Flujo de control son: Tareas, Contenedores (Foreach Loop, For , Secuencias), Tareas y Restricciones de precedencia.

Los primeros ejemplos que mostraré en estos días, van a trabajar paquetes que no contienen tareas de Flujos de datos. En su momento veremos que una de las tareas más importantes es la tarea de Flujo de datos desde la que se pueden realizar las siguientes opciones: Extraer datos, Transformar datos, Cargar datos, Conectar componentes, Controlar errores, Agregar administradores de conexión, Crear anotaciones, Examinar datos, etc.

Sobre todos estos elementos estaremos volveré una y otra vez con los ejemplos, no hay que preocuparse ahora porque no hayan quedado definidos estrictamente, en la Ayuda de SQL Server 2008 están explicados los conceptos y definiciones con gran amplitud.

Mejor veamos una imagen de lo que puede ser el panel de Flujo de control, a la izquierda un ejemplo genérico y a la derecha un caso real de un paquete creado con el Asistente de Importación y Exportación de SSIS.

flujocontrolyejemplos

Ahora vemos otro par de ejemplo, a la izquierda una tarea de Flujo de datos de tipo genérico y a la derecha la imagen de la correspondiente tarea de Flujo de datos, aunque es poco ilustrativa, apenas se dedicaba a Extraer datos de un origen y sin Transformación cargarla en su destino.

flujodatosyejemplos

Es posible encontrar ejemplos de este tipo en la vida real, aunque la verdad es que es poco habitual, generalmente necesitamos transformaciones y sobre todo garantizar la limpieza de datos.

Como les dije antes, veamos primero algunas tareas que no requieren de Flujo de datos, en el próximo escrito veremos la tarea Generación de perfiles de datos que es nueva en SQL Server IS 2008 y aporta mucha ayuda para realizar un análisis efectivo de los datos.

Saludos,

Ana