Depurar el flujo de control
Business Intelligence Development Studio y Microsoft SQL Server 2005 Integration Services (SSIS) incluyen características y herramientas que necesita para solucionar los problemas del flujo de control en un paquete de Integration Services.
- Integration Services admite puntos de interrupción en contenedores y tareas.
- El Diseñador SSIS proporciona informes de progreso en tiempo de ejecución.
- Business Intelligence Development Studio proporciona ventanas de depuración.
Puntos de interrupción
El Diseñador SSIS proporciona el cuadro de diálogo Establecer puntos de interrupción, en el que puede establecer puntos de interrupción habilitando las condiciones de interrupción y especificando la cantidad de veces que se puede producir un punto de interrupción antes de que se suspenda la ejecución del paquete. Los puntos de interrupción se pueden habilitar en el nivel de paquete, o en el nivel del componente individual. Si las condiciones de interrupción se habilitan en el nivel de tarea o contenedor, aparece el icono de punto de interrupción junto a la tarea o contenedor en la superficie de diseño de la ficha Flujo de control. Si las condiciones de interrupción se habilitan en el paquete, aparece el icono de punto de interrupción en la etiqueta de la ficha Flujo de control.
Cuando se alcanza un punto de interrupción, el icono de punto de interrupción cambia para ayudar a identificar el origen del punto de interrupción. Se pueden agregar, eliminar y cambiar puntos de interrupción mientras se ejecuta el paquete.
Integration Services proporciona diez condiciones de interrupción que puede habilitar en todas las tareas y contenedores. En el cuadro de diálogo Establecer puntos de interrupción, puede habilitar puntos de interrupción en las siguientes condiciones:
Condición de interrupción | Descripción |
---|---|
Cuando la tarea o contenedor recibe el evento OnPreExecute. |
Se llama cuando una tarea está a punto de ejecutarse. Este evento es provocado por una tarea o contenedor inmediatamente antes de ejecutarse. |
Cuando la tarea o contenedor recibe el evento OnPostExecute. |
Se llama inmediatamente después de que finaliza la lógica de ejecución de la tarea. Este evento es provocado por una tarea o contenedor inmediatamente después de ejecutarse. |
Cuando la tarea o contenedor recibe el evento OnError. |
Es llamado por una tarea o contenedor cuando se produce un error. |
Cuando la tarea o contenedor recibe el evento OnWarning. |
Se llama cuando la tarea está en un estado que no justifica un error, pero sí provoca una advertencia. |
Cuando la tarea o contenedor recibe el evento OnInformation. |
Se llama cuando se necesita la tarea para proporcionar información. |
Cuando la tarea o contenedor recibe el evento OnTaskFailed. |
Es llamado por el host de la tarea cuando se produce un error. |
Cuando la tarea o contenedor recibe el evento OnProgress. |
Se llama para actualizar el progreso de la ejecución de la tarea. |
Cuando la tarea o contenedor recibe el evento OnQueryCancel. |
Se llama en cualquier momento durante el procesamiento de la tarea cuando puede cancelar la ejecución. |
Cuando la tarea o contenedor recibe el evento OnVariableValueChanged. |
Llamado por la biblioteca de tiempo de ejecución de Integration Services cuando cambia el valor de una variable. Se debe establecer RaiseChangeEvent de la variable en true para provocar este evento. |
Cuando la tarea o contenedor recibe el evento OnCustomEvent. |
Llamado por tareas para provocar eventos personalizados definidos por la tarea. |
Además de las condiciones de interrupción disponibles para todas las tareas y contenedores, algunas tareas y contenedores incluyen condiciones de interrupción especiales para establecer puntos de interrupción. Por ejemplo, puede habilitar una condición de interrupción en el contenedor de bucles For que establezca un punto de interrupción que suspenda la ejecución al principio de cada iteración del bucle.
Para agregar flexibilidad y potencia a un punto de interrupción, puede modificar el comportamiento de un punto de interrupción especificando las siguientes opciones:
- El recuento de visitas, o la cantidad máxima de veces que se produce una condición de punto de interrupción antes de que se suspenda la ejecución.
- El tipo de recuento de visitas, o la regla que especifica cuándo la condición de punto de interrupción desencadena el punto de interrupción.
Los tipos de recuentos de visitas, a excepción del tipo Siempre, se califican además con el recuento de visitas. Por ejemplo, si el tipo es "Recuento de visitas igual a" y el recuento de visitas es 5, la ejecución se suspende en la sexta repetición de la condición de punto de interrupción.
La siguiente tabla describe los tipos de recuento de visitas.
Tipo de recuento de visitas | Descripción |
---|---|
Siempre |
La ejecución siempre se suspende cuando se alcanza un punto de interrupción. |
Recuento de visitas igual a |
La ejecución se suspende cuando la cantidad de veces que se ha producido el punto de interrupción es igual al recuento de visitas. |
Recuento de visitas mayor o igual que |
La ejecución se suspende cuando la cantidad de veces en que se ha producido el punto de interrupción es igual o mayor que el recuento de visitas. |
Múltiplo del recuento de visitas |
La ejecución se suspende cuando se produce un múltiplo del recuento de visitas. Por ejemplo, si se establece esta opción en 5, la ejecución se suspende cada quinta vez. |
Para establecer puntos de interrupción
Informes de progreso
El Diseñador SSIS incluye dos tipos de informes de progreso: códigos de colores en la superficie de diseño de la ficha Flujo de control y mensajes de progreso en la ficha Progreso.
Cuando se ejecuta un paquete, el Diseñador SSIS muestra el progreso de la ejecución mostrando cada tarea o contenedor mediante un color que indica el estado de la ejecución. Puede saber, según el color, si el elemento está esperando para ejecutarse, si se está ejecutando actualmente, si se ha completado correctamente o si no finalizó correctamente. Una vez detenida la ejecución del paquete, desaparece el código de colores.
La siguiente tabla describe los colores utilizados para indicar el estado de la ejecución.
Color | Estado de ejecución |
---|---|
Gris |
Esperando para ejecutarse |
Amarillo |
En ejecución |
Verde |
Se ejecutó correctamente |
Rojo |
Ejecución con errores |
La ficha Progreso enumera las tareas y contenedores en el orden de ejecución e incluye los tiempos de inicio y finalización, advertencias y mensajes de error. Una vez que se detiene la ejecución del paquete, la información de progreso permanece disponible en la ficha Resultados de la ejecución.
El diagrama siguiente muestra la ficha Progreso.
Ventanas de depuración
Business Intelligence Development Studio, un entorno de desarrollo de Microsoft Visual Studio 2005, incluye varias ventanas que se pueden usar para trabajar con puntos de interrupción y para depurar paquetes que contienen puntos de interrupción. Para obtener más información sobre cada ventana, abra la ventana y luego presione F1 para mostrar la Ayuda correspondiente de esa ventana.
Para abrir estas ventanas en Business Intelligence Development Studio, haga clic en el menú Depurar, seleccione Ventanas y luego haga clic en Puntos de interrupción, Salida o Inmediata.
Las ventanas se describen en la siguiente tabla.
Ventana | Descripción |
---|---|
Puntos de interrupción |
Enumera los puntos de interrupción de un paquete y proporciona opciones para habilitar y eliminar puntos de interrupción. |
Salida |
Muestra mensajes de estado para las características en Business Intelligence Development Studio. |
Inmediata |
Se usa para depurar y evaluar expresiones e imprimir valores de variable. |