2008-09-02 7 views
3

Voici mon scénario: j'ai un travail SSIS qui dépend d'un autre travail SSIS précédent à exécuter. Je dois être en mesure de vérifier le statut du premier emploi avant de lancer le second. Il n'est pas possible d'ajouter le 2ème job dans le workflow du premier, car il est déjà trop complexe. Je veux être en mesure de vérifier le statut du premier travail (Échec, Réussite, Exécution en cours) du second et l'utiliser comme condition pour décider si le second doit être exécuté ou attendre une nouvelle tentative. Je sais que cela peut être fait en interrogeant la base de données MSDB sur le serveur SQL exécutant le travail. Je me demande s'il existe un moyen plus simple, tel que l'utilisation éventuelle de la tâche WMI Data Reader? Quelqu'un a eu cette expérience?Comment vérifier l'état d'un travail à partir du flux de contrôle SSIS?

Répondre

4

Vous pouvez créer un troisième package exécutant packageA puis packageB. Le troisième paquet contiendrait seulement deux tâches d'exécution de paquet.

http://msdn.microsoft.com/en-us/library/ms137609.aspx

@Craig Une table d'état est une option, mais vous devrez continuer à surveiller ce.

Voici un article sur les événements dans SSIS pour votre question originale.
http://www.databasejournal.com/features/mssql/article.php/3558006

+0

Merci pour les liens. Je suppose que ma meilleure option sera de faire abstraction des emplois dans un travail maître qui les contrôle. –

0

Pourquoi ne pas utiliser une table? Il suffit que le premier travail mette à jour la table avec son statut. Le deuxième travail peut utiliser la table pour vérifier le statut. Cela devrait faire l'affaire si je lis la question correctement. La table ne devrait (devrait) avoir qu'une seule ligne pour ne pas tuer les performances et ne devrait pas causer de blocage (bien sûr, maintenant que je l'écris, ça arrivera) :)

@Jason: Oui, vous pourrait le surveiller ou vous pourriez avoir un déclencheur démarrer le deuxième travail lorsque l'état final est reçu. :)

Questions connexes