Depurar el flujo de control
SQL Server Data Tools (SSDT) 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.
SQL Server Data Tools (SSDT) 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 pestaña 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 pestaña 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 pestaña Flujo de control y los mensajes de progreso de la pestaña 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 |
resaltado |
Ejecución con errores |
La pestaña 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 pestaña Resultados de la ejecución.
[!NOTA]
Para habilitar o deshabilitar la presentación de mensajes en la pestaña Progreso, active o desactive la opción Informe de progreso de depuración del menú SSIS.
El diagrama siguiente muestra la pestaña Progreso.
Ventanas de depuración
SQL Server Data Tools (SSDT) 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 SQL Server Data Tools (SSDT), 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 SQL Server Data Tools (SSDT). |
Inmediata |
Se usa para depurar y evaluar expresiones e imprimir valores de variable. |
|
Vea también
Tasks
Herramientas para solucionar problemas con el desarrollo de paquetes