Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment définir le délai d'expiration du travail CmdExec de SQL Server 2005

Les travaux SQL n'ont pas de délai d'expiration - vous ne pouvez pas les configurer pour qu'ils s'arrêtent d'eux-mêmes s'ils s'exécutent trop longtemps ou atteignent un moment précis. (Cela m'aurait fait gagner beaucoup de temps de développement si vous le pouviez !) Vous pouvez configurer des étapes pour vérifier les heures ou les durées, et vous pouvez coder les actions entreprises dans les étapes pour vérifier les heures, mais au niveau du travail ou de l'étape, non.

C'est ce qui rend cette question intéressante. Pourquoi obtenez-vous un délai d'attente ? D'après ce que vous avez dit, je suppose que l'agent SQL est incapable de dire que le système d'exploitation a reçu la commande "do this" que vous envoyez via l'étape cmdexec. Après l'envoi et l'attente, il pense que le travail n'a jamais démarré et signale en conséquence (et il y a votre délai d'attente système caché). Comment cela se passe-t-il ? Vous pouvez investir dans des configurations de sécurité ou des droits d'accès aux fichiers, mais je commencerais par passer en revue la routine que vous démarrez – quelque chose à ce sujet me semble louche.