ssis - servicios - que es integration services
¿Por qué no iniciará mi flujo de falla cuando falla el contenedor de secuencia SSIS? (4)
Tengo algunos contenedores de secuencia de SSIS, y si alguna de las tareas en ellos falla, quiero dirigir el flujo a una tarea de SQL que lo limpia todo para poder abordar el problema y ejecutarlo nuevamente sin tener datos duplicados. Mi problema es que no puedo dirigir el flujo hacia la tarea SQL incluso cuando algo en uno de los contenedores de secuencia falla. Parece que este debería ser el comportamiento predeterminado, pero debe haber alguna configuración que estoy perdiendo. Jugué con la configuración de FailParentOnFailure, pero todo esto hace que no se ejecute el resto del paquete. Insertaría una imagen para ayudarme a entender lo que configuré, pero supongo que mi reputación aún no es lo suficientemente buena. :PAG
Creo que en este definitivamente un caso en el que una imagen habría ayudado a otros a responder mi pregunta. Tenía 3 contenedores de secuencia apuntando a la misma tarea SQL si fallaban. Quería que la tarea SQL se ejecutara si CUALQUIERA de los contenedores de secuencia tuviese un error, por lo que las restricciones de precedencia tenían que establecerse en un OR lógico; de lo contrario, nunca se ejecutaría a menos que fallaran las 3. Cambié a O y funcionó como yo quería.
Sin más detalles sobre sus Envases de Secuencia, es difícil estar seguro del problema.
Intentaría verificar la variable del sistema Propagate
de tus contenedores. Siempre que tenga una tarea que puede fallar y no desea que se detenga todo su paquete, asegúrese de hacer una de las siguientes acciones:
- Vaya a
Event Handlers
y haga algo en el eventoOnError
para tratar la falla o - Establezca la variable del sistema
Propagate
de esa tarea enFalse
Proporcionaré algunas capturas de pantalla, pero no tengo suficientes representantes para eso. En cambio, te dejo algunos enlaces con más información sobre este tema:
Similar a su pregunta: http://sqlserverselect.blogspot.com/2010/12/ssis-foreach-loop-container-continue-on.html
Información detallada sobre la propagación del evento: http://simonworth.wordpress.com/2009/11/11/ssis-event-handler-variables-propagate/
Asegúrese de hacer clic en Editar en las Restricciones y cambiar la última parte para Restricciones Múltiples a O, de modo que si alguno de ellos falla ejecuta la tarea, de lo contrario, esperará a que fallen todos.
Compruebe la propiedad del contenedor de secuencia si FailPackageOnFailure = true no activará la "restricción de precedencia de falla".