2009-05-14 15 views

Respuesta

64

El agente SQL Server comprueba si el trabajo ya se está ejecutando antes de iniciar una nueva iteración. Si tiene un trabajo de larga duración y aparece su agenda, se omitirá hasta el siguiente intervalo.

Puede probarlo usted mismo. Si intenta iniciar un trabajo que ya se está ejecutando, obtendrá un error en ese sentido.

+0

Impresionante, eso es exactamente lo que quería saber. Tengo un corrector de correo electrónico que a veces demora un poco para descargar correos electrónicos grandes. Debido a que se ejecuta cada minuto, es muy importante que no se inicie una segunda instancia del trabajo si la primera aún no se ha completado. –

+0

¿Hay alguna forma de lograr esto, me refiero a evitar el salto y comenzar otra instancia del trabajo? ¿O simplemente podría hacerse creando otro trabajo SQL? Gracias –

3

Estoy bastante seguro de que se saltará si se está ejecutando.

2

¿Qué versión de SQL Server estás usando? Esto parece una cosa bastante fácil de probar. Configure un trabajo con WAITFOR que inserte una sola fila en una tabla y configure el trabajo para que se ejecute dos veces en una sucesión rápida (más corto que WAITFOR DELAY).

Al ejecutar una prueba de este tipo en SQL Server 2005 omitió la ejecución superpuesta.

+0

Estaba contemplando hacer esto, pero me pareció más fácil googlearlo y ... voila – Paul

Cuestiones relacionadas