Frage

Hier ist mein Szenario: Ich habe einen SSIS-Job, dessen Ausführung von einem anderen vorherigen SSIS-Job abhängt.Ich muss in der Lage sein, den Status des ersten Jobs zu überprüfen, bevor ich den zweiten starte.Es ist nicht möglich, den zweiten Job in den Workflow des ersten einzufügen, da dieser bereits viel zu komplex ist.Ich möchte in der Lage sein, den Status des ersten Jobs (fehlgeschlagen, erfolgreich, wird derzeit ausgeführt) anhand des zweiten Jobs zu überprüfen und dies als Bedingung zu verwenden, um zu entscheiden, ob der zweite Job ausgeführt oder auf einen erneuten Versuch gewartet werden soll.Ich weiß, dass dies durch Abfragen der MSDB-Datenbank auf dem SQL Server, auf dem der Job ausgeführt wird, erfolgen kann.Ich frage mich, ob es einen einfacheren Weg gibt, beispielsweise die Verwendung des WMI Data Reader Task?Hat jemand diese Erfahrung gemacht?

War es hilfreich?

Lösung

Möglicherweise möchten Sie ein drittes Paket erstellen, das PaketA und dann PaketB ausführt.Das dritte Paket würde nur zwei Paketausführungsaufgaben enthalten.

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

@Craig Eine Statusstabelle ist eine Option, aber Sie müssen sie weiter überwachen.

Hier ist ein Artikel über Ereignisse in SSIS für Ihre ursprüngliche Frage.
http://www.databasejournal.com/features/mssql/article.php/3558006

Andere Tipps

Warum nicht einen Tisch verwenden?Lassen Sie einfach den ersten Job die Tabelle mit seinem Status aktualisieren.Der zweite Job kann die Tabelle verwenden, um den Status zu überprüfen.Das sollte reichen, wenn ich die Frage richtig lese.Die Tabelle würde (sollte) nur eine Zeile haben, damit die Leistung nicht beeinträchtigt wird und kein Deadlock verursacht wird (jetzt, wo ich sie schreibe, wird das natürlich passieren) :)

@Jason:Ja, Sie könnten es überwachen oder einen Auslöser veranlassen, den zweiten Job zu starten, wenn der Endstatus empfangen wird.:) :)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top