Utilizar puntos de Comprobación con SSIS 2008 (III)

En la pasada entrega vimos la primera ejecución de paquete SSIS configurado para activar Puntos de Comprobación.

Ejecutemos ahora el paquete por segunda vez, aquellas tareas que ya se ejecutaron satisfactoriamente no se ejecutan. El flujo de datos de todas las tareas está en blanco, no se ha ejecutado nada. Por su parte el Flujo de datos de la tarea que causó el error, se mantiene, todo bien, todo en verde como visto la pasada entrega.

Ejecuta2PtoCompr

La ficha Progreso devuelve el siguiente resultado

ProcesoEjecuta2PtoCompr

El log indica el sitio en que se inició la lectura del  archivo de punto de comprobación.

El archivo de Puntos de comprobación existe y es igual al que vimos antes.

Es curioso cómo la tarea Ejecutar Proceso se ejecuta siempre, independientemente del Archivo de puntos de control.

Ahora, cambiamos la propiedad  ForceExecutionResult de esta tarea a None ForceNone

Forzamos el error de la siguiente tarea, estableciendo ForceExecutionResult ForceFailure

Además, no podemos olvidar configurar como True la propiedad FailPackageOnFailure . En este caso, que estamos ante la última tarea en el Flujo de datos, si no configuramos esta propiedad, aunque se muestre en rojo y se detenga el paquete, en realidad, su ejecución se da por buena. Tenemos para ello, una advertencia en el log de la ficha Resultados de la ejecución.

Advertencia: Error en esta tarea o contenedor; el paquete continuará porque el valor de la propiedad FailPackageOnFailure es FALSE. Esta advertencia se expone cuando el valor de la propiedad SaveCheckpoints del paquete es TRUE y hay un error en la tarea o el contenedor.

Ejecutamos, comienza con la tarea recién arreglada, y ejecuta las siguientes tareas hasta llegar a la última que se ha forzado con error.

Ejecuta3PtoCompr

Vemos que el archivo de Puntos de Comprobación se mantiene y almacena los valores de las variables y las precedencias.

Y por último, cuando cambiamos el valor de la propiedad que fuerza el fallo, no hay fallos en el paquete, termina su ejecución y se elimina el archivo, porque no hay otra tarea en espera de la configuración

NoFicheroPtoC

Si se ejecuta una próxima vez se ejecuta por completo, el archivo xml se crea nuevamente para ir almacenando los valores de configuración como hemos visto, para borrarse en caso de no ocurrir error o restablecer estos valores cuando se vuelva a ejecutar el paquete, sin necesidad de ejecutar todas las tareas.

Cuando vimos la posibilidad de habilitar y deshabiliar tareas  comentamos el peligro de mantener tareas deshabilitadas por el error que podían traer para otras tareas. La configuración de puntos de control garantiza el ahorro de tiempo en caso de error y que no haya tareas que se queden deshabilitadas por olvido y se ejecute todo el paquete en caso de que no exista error.

En la próxima entrega vamos a pasar a otro tema, sin dudas apasionante, como puede ser la Depuración en paquetes SSIS.