Depurar el flujo de control

Business Intelligence Development Studio y Microsoft Integration Services 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 número de llamadas, 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 número de llamadas, o la regla que especifica cuándo la condición de punto de interrupción desencadena el punto de interrupción.

Los tipos de número de llamadas, a excepción del tipo Siempre, se califican además con el número de llamadas. Por ejemplo, si el tipo es "Número de llamadas igual a" y el número de llamadas 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 número de llamadas.

Tipo de número de llamadas

Descripción

Siempre

La ejecución siempre se suspende cuando se alcanza un punto de interrupción.

Número de llamadas igual a

La ejecución se suspende cuando la cantidad de veces que se ha producido el punto de interrupción es igual al número de llamadas.

Número de llamadas 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 número de llamadas.

Múltiplo del número de llamadas

La ejecución se suspende cuando se produce un múltiplo de número de llamadas. 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 de SSIS incluye dos tipos de informes de progreso: la codificación de colores de la superficie de diseño de la ficha Flujo de control y los mensajes de progreso de 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.

Nota

Para habilitar o deshabilitar la presentación de mensajes en la ficha Progreso, active o desactive la opción Informe de progreso de depuración del menú SSIS.

El diagrama siguiente muestra la ficha Progreso.

pestaña Progreso del Diseñador SSIS

Ventanas de depuración

Business Intelligence Development Studio, un entorno de desarrollo de Microsoft Visual Studio 2008, 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.

Icono de Integration Services (pequeño) Manténgase al día con Integration Services

Para obtener las más recientes descargas, artículos, ejemplos y vídeos de Microsoft, así como soluciones seleccionadas de la comunidad, visite la página de Integration Services en MSDN o TechNet:

Para recibir notificaciones automáticas de estas actualizaciones, suscríbase a las fuentes RSS disponibles en la página.

Vea también

Otros recursos