2009-05-14 3 views

Répondre

64

L'agent SQL Server vérifie si le travail est déjà en cours d'exécution avant de commencer une nouvelle itération. Si vous travaillez depuis longtemps et que son emploi du temps augmente, il sera ignoré jusqu'à l'intervalle suivant.

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

+0

Génial, c'est exactement ce que je voulais savoir. J'ai un vérificateur d'e-mail qui prend parfois un certain temps pour télécharger de gros e-mails. Parce qu'il s'exécute toutes les minutes, il est très important qu'une seconde instance du travail ne soit pas lancée si la première n'est pas encore terminée. –

+0

Y at-il un moyen d'y parvenir, je veux dire éviter le saut et commencer une autre instance du travail? Ou juste pourrait être fait en créant un autre travail SQL? Merci –

3

Je suis assez sûr qu'il va l'ignorer s'il est en cours d'exécution.

2

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 configure le travail pour qu'il s'exécute deux fois de suite (plus court que le délai WAITFOR). Lors de l'exécution d'un tel test dans SQL Server 2005, il ignorait l'exécution chevauchante.

+0

J'envisageais de le faire - mais il semblait plus facile de le google et .. voila – Paul

Questions connexes