SSIS - SQL Server Integration Services - Re-ejecutar paquete al momento de fallar

 
Vista:
Imágen de perfil de Joseph

Re-ejecutar paquete al momento de fallar

Publicado por Joseph (1 intervención) el 22/09/2014 21:54:44
Hola a todos,

Quiero crear un paquete en SSIS, que al momento de fallar alguna de sus tareas este se re-ejecute 1 vez, si vuelve a fallar mande a error, lo que hecho hasta el momento es crear un manejador de eventos en la opcion "OnTaskFailed" con una tarea "Execute Package Task" llamandose a si mismo, y controlar las iteraciones con variables, sin embargo este cae en un bucle infinito.

Sin mas a que hacer referencia, me despido en espera de una pronta respuesta.

Saludos Cordiales.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Manejo de errores y retries

Publicado por Alejandro (60 intervenciones) el 26/02/2024 20:30:44
¡Hola Joseph!

Entiendo que estás buscando una solución para manejar errores y reintentos en un paquete SSIS. Parece que ya has dado algunos pasos, pero te encuentras con un problema de bucle infinito. Aquí hay una sugerencia para abordar este problema:

1. Manejador de eventos OnTaskFailed:
- Crea un manejador de eventos en la opción "OnTaskFailed" para capturar el evento de fallo de una tarea.

2. Execute Package task para reintentos:
- Dentro del manejador de eventos, utiliza una tarea "Execute Package task" para reintentar la ejecución del paquete.
- Asegúrate de tener una variable que controle el número de intentos.

3. Control de iteraciones con variables:
- Utiliza variables para controlar el número de reintentos permitidos. Puedes incrementar la variable en cada intento fallido y utilizar una expresión condicional en la tarea "Execute Package task" para limitar los reintentos.

4. Evitar bucle infinito:
- Para evitar el bucle infinito, agrega una condición en el manejador de eventos para salir del bucle después de un número máximo de reintentos.

Aquí hay un ejemplo de cómo podrías configurar la expresión condicional en la tarea "Execute Package task" para limitar los reintentos:

- En la expresión condicional de la tarea, verifica si la variable de reintentos es menor que el número máximo de reintentos permitidos.
- Si es verdadero, ejecuta el paquete nuevamente; de lo contrario, registra el error o toma la acción necesaria.

Espero que esta sugerencia te ayude a abordar el problema del bucle infinito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar