Hier ist mein Szenario - Ich habe einen SSIS-Job, der von einem anderen vorherigen SSIS-Job abhängig ist. Ich muss in der Lage sein, den Status des ersten Jobs zu überprüfen, bevor ich den zweiten starte. Es ist nicht machbar, den zweiten Job in den Workflow des ersten zu integrieren, da dieser bereits viel zu komplex ist. Ich möchte in der Lage sein, den Status des ersten Jobs (fehlgeschlagen, erfolgreich, aktuell ausgeführt) von dem zweiten zu überprüfen und dies als eine Bedingung zu verwenden, um zu entscheiden, ob der zweite ausgeführt werden soll, oder auf einen erneuten Versuch zu warten. Ich weiß, dass dies durch Abfragen der MSDB-Datenbank auf dem SQL Server erfolgen kann, auf dem der Job ausgeführt wird. Ich frage mich, ob es einen einfacheren Weg gibt, wie zum Beispiel den WMI Data Reader Task zu verwenden? Hat jemand diese Erfahrung gemacht?Wie überprüfe ich den Jobstatus vom SSIS-Kontrollfluss?
Antwort
Sie möchten vielleicht ein drittes Paket erstellen, das runs packageA und dann packageB. Das dritte Paket würde nur zwei Paket-Ausführungsaufgaben enthalten.
http://msdn.microsoft.com/en-us/library/ms137609.aspx
@Craig Eine Statustabelle ist eine Option, aber Sie werden überwacht, es zu halten haben.
Hier ist ein Artikel über Ereignisse in SSIS für Ihre ursprüngliche Frage.
http://www.databasejournal.com/features/mssql/article.php/3558006
Warum nicht eine Tabelle verwenden? Lassen Sie den ersten Job die Tabelle mit ihrem Status aktualisieren. Der zweite Job kann die Tabelle verwenden, um den Status zu überprüfen. Das sollte ausreichen, wenn ich die Frage richtig lese. Die Tabelle würde (sollte) nur eine Zeile haben, damit es die Leistung nicht killt und kein Deadlock verursachen sollte (natürlich, jetzt, wo ich es schreibe, wird es passieren) :)
@Jason: Ja, du könnte es überwachen oder Sie könnten einen Trigger starten den zweiten Job, wenn der Endstatus empfangen wird. :)
- 1. Wie überprüfe ich den Wert von PrintDialog.AllowCurrentPage?
- 2. Wie überprüfe ich den Inhalt eines Arrays?
- 3. Wie überprüfe/bestätige ich, ob GPS vom Benutzer eingeschaltet wurde?
- 4. Wie überprüfe ich den Dateityp in Drupal 6 mit file_save_upload?
- 5. Wie überprüfe ich Pelican-Variablen
- 6. Wie überprüfe ich den Wert von Auxiliary Flag in 8086
- 7. Wie überprüfe ich den Internetzugriff mit Bash-Skript in Linux?
- 8. Wie überprüfe ich den aktuellen Status des Thread-Stacks?
- 9. Wie überprüfe ich den Status der Indexerstellung auf Oracle 11?
- 10. Wie überprüfe ich den Status der Verbindung einer TFTP-Verbindung?
- 11. Wie überprüfe ich den aktuellen Standort eines Nutzers?
- 12. Wie überprüfe ich den Namen eines übergeordneten Verzeichnisses?
- 13. Wie überprüfe ich den Typ eines View-Widgets?
- 14. SVN: Wie überprüfe ich den gesamten Quellbaum nur mit Amtsleitungen?
- 15. Wie überprüfe ich den Datenbanktyp in einer Rails Migration?
- 16. Wie überprüfe ich den Shake-Effekt im iPhone-Simulator?
- 17. Wie überprüfe ich den ursprünglichen Wert im Etikettenformatierer mit plottable.js?
- 18. Wie überprüfe ich den SQL-Replikationsstatus über T-SQL?
- 19. Wie überprüfe ich, ob ein Simplex den Ursprung enthält?
- 20. Wie bekomme ich den Bildpfad vom Webpack?
- 21. Wie überprüfe ich eine entfernte Niederlassung?
- 22. Wie überprüfe ich, ob eine IsolatedStorageFile existiert?
- 23. Wie überprüfe ich meine InnoDB-Einstellungen?
- 24. Wie überprüfe ich, ob ein NSTimer läuft?
- 25. iOS Wie überprüfe ich, ob gerade telefoniert
- 26. Wie überprüfe ich HEAD^in Git
- 27. Wie überprüfe ich die gültige URL-Adresse?
- 28. Wie überprüfe ich eine Liste in Haskell?
- 29. Wie überprüfe ich $ scope. $ On in AngularJS
- 30. Wie überprüfe ich nach einer Netzwerkverbindung?
Danke für die Links. Ich denke, meine beste Option wird sein, die Jobs zu einem Master-Job zu abstrahieren, der sie steuert. –