Si vous planifiez l'exécution d'un travail SQL Server toutes les X minutes et qu'il ne termine pas l'appel précédent avant que le nombre de minutes ne soit écoulé, l'exécution sera-t-elle ignorée, car elle est déjà en cours d'exécution ou deux instances du travail faire les mêmes étapes?
Réponses
Trop de publicités?L'agent SQL Server vérifie si le travail est déjà en cours d'exécution avant de lancer une nouvelle itération. Si votre travail est long et que son emploi du temps est défini, il sera ignoré jusqu'au prochain intervalle.
Vous pouvez essayer cela pour vous-même. Si vous essayez de démarrer un travail en cours, vous obtiendrez une erreur à cet effet.
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 pour qu'il s'exécute deux fois de suite rapidement (plus court que WAITFOR DELAY).
Lors de l'exécution d'un tel test dans SQL Server 2005, il a ignoré l'exécution qui se chevauchait.