it-swarm-fr.com

Chanining SQL Server Agent Agent

J'ai plusieurs forfaits de travail pour chacun que j'ai configuré un emploi dans SQL Server Agent. Parfois, je devrais tout courir ensemble. Quelle est la meilleure façon de les exécuter dans une séquence donnée? Je suis un peu surpris que SQL Server Agent ne soit pas capable d'inclure des travaux comme des étapes de travail à exécuter. J'ai essayé

9
nojetlag

Il existe des outils tiers qui vous permettront de le faire, si vous n'avez pas le temps de courbe d'apprentissage ni l'expertise existante pour utiliser les SSIS. Disclaimer: Je travaille pour une de ces entreprises. Check Out Event Manager à partir de SQL Sentry - Il gère des tâches SQL Server (y compris les packages SSIS), des tâches planifiées Windows et même des travaux Oracle. Voici les fonctionnalités SQL Server (y compris la chaînage et la queue):

http://sqlsentry.net/event-manager/sql-server-enterprise-features.asp

Malheureusement, je ne pense pas que vous puissiez utiliser l'agent SQL seul pour chaîner plusieurs emplois. La méthode SP_START_JOB que Marian a suggéré de lancer des emplois asynchroneusement; Vous ne pouvez pas attendre qu'ils complètent avant de passer à la commande suivante ou à la prochaine étape.

5
Aaron Bertrand

L'agent SQL n'est pas considéré comme "classe d'entreprise" en tant que planificateur d'emploi. Il manque beaucoup de fonctionnalités que vous finissez par avoir à vous construire vous-même. Un tel exemple serait des dépendances. En conséquence, vous êtes obligé de mettre la majeure partie de cette logique dans les packages SSIS. Pas nécessairement une mauvaise chose ... juste une douleur pour construire et gérer vous-même.

Donc, c'est ma réponse, construisez un package SSIS et utilisez des commandes T-SQL pour appeler des emplois SQL Agent comme vous le souhaitez. Assurez-vous que vos exigences et vos scénarios sont clairement définis. Vous ne voudrez peut-être pas avoir plusieurs travaux frappant les mêmes tables en même temps, par exemple.

Ht

8
SQLRockstar

Vous devriez essayer en utilisant un script T-SQL dans les étapes de vos travaux, à l'aide de la procédure stockée du système SP_START_JOB . Cela vous permettra de chaîner combien d'emplois que vous voulez.

6
Marian