web-dev-qa-db-fra.com

Un travail SQL Server sautera-t-il une exécution planifiée s'il est déjà en cours d'exécution?

Si vous planifiez un travail SQL Server pour qu'il s'exécute toutes les X minutes et qu'il ne termine pas l'appel précédent avant la fin du nombre de minutes, sautera-t-il l'exécution puisqu'il est déjà en cours d'exécution ou exécutera-t-il deux instances de la faire les mêmes étapes?

56
Sam Schutte

L'agent SQL Server vérifie si le travail est déjà en cours d'exécution avant de démarrer une nouvelle itération. Si vous avez un travail de longue durée et que son calendrier arrive, il sera ignoré jusqu'au prochain intervalle.

Vous pouvez l'essayer par vous-même. Si vous essayez de démarrer un travail qui est déjà en cours d'exécution, vous obtiendrez une erreur à cet effet.

75
Jose Basilio

Je suis presque sûr qu'il l'ignorera s'il est en cours d'exécution.

3
PQW

Quelle version de SQL Server utilisez-vous? Cela semble être une chose assez facile à tester. Configurez un travail avec un WAITFOR qui insère une seule ligne dans une table et configurez le travail pour qu'il s'exécute deux fois de suite rapidement (plus court que le WAITFOR DELAY).

Lors de l'exécution d'un tel test dans SQL Server 2005, il a ignoré l'exécution qui se chevauchait.

2
Tom H