Pregunta

Este es mi escenario: tengo un trabajo SSIS que depende de la ejecución de otro trabajo SSIS anterior.Necesito poder verificar el estado del primer trabajo antes de iniciar el segundo.No es factible agregar el segundo trabajo al flujo de trabajo del primero, ya que ya es demasiado complejo.Quiero poder verificar el estado del primer trabajo (Error, Exitoso, Actualmente en ejecución) del segundo y usarlo como condición para decidir si el segundo debe ejecutarse o esperar un reintento.Sé que esto se puede hacer consultando la base de datos MSDB en el servidor SQL que ejecuta el trabajo.Me pregunto si existe una manera más sencilla, como posiblemente utilizar la tarea de lector de datos WMI.¿Alguien tuvo esta experiencia?

¿Fue útil?

Solución

Es posible que desee crear un tercer paquete que ejecute el paqueteA y luego el paqueteB.El tercer paquete solo contendría dos tareas de ejecución del paquete.

http://msdn.microsoft.com/en-us/library/ms137609.aspx

@Craig Una tabla de estado es una opción, pero tendrá que seguir monitoreándola.

Aquí hay un artículo sobre eventos en SSIS para su pregunta original.
http://www.databasejournal.com/features/mssql/article.php/3558006

Otros consejos

¿Por qué no utilizar una mesa?Simplemente haga que el primer trabajo actualice la tabla con su estado.El segundo trabajo puede utilizar la tabla para comprobar el estado.Eso debería funcionar si leo la pregunta correctamente.La tabla solo debería tener una fila, por lo que no afectará el rendimiento y no debería causar ningún punto muerto (por supuesto, ahora que lo escribo, sucederá) :)

@Jason:Sí, puede monitorearlo o puede hacer que un disparador inicie el segundo trabajo cuando se reciba el estado final.:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top