Ich habe mehrere Arbeitspakete für jedes, für das ich einen Job in SQL Server Agent eingerichtet habe. Manchmal sollte ich alle zusammen laufen. Was ist der beste Weg, um sie alle in einer bestimmten Reihenfolge auszuführen? Ich bin ein bisschen überrascht, dass der SQL Server-Agent keine Jobs als auszuführende Jobschritte aufnehmen kann. Ich habe es versucht
sql-server-2008
nojetlag
quelle
quelle
Antworten:
Es gibt Tools von Drittanbietern, mit denen Sie dies tun können, wenn Sie nicht über die Lernkurvenzeit oder das vorhandene Fachwissen für die Verwendung von SSIS verfügen. Haftungsausschluss: Ich arbeite für eines dieser Unternehmen. Testen Sie Event Manager in SQL Sentry - es verarbeitet SQL Server-Jobs (einschließlich SSIS-Pakete), geplante Windows-Aufgaben und sogar Oracle-Jobs. Hier sind die SQL Server-Funktionen (einschließlich Verkettung und Warteschlange):
http://sqlsentry.net/event-manager/sql-server-enterprise-features.asp
Leider glaube ich nicht, dass Sie SQL Agent alleine verwenden können, um mehrere Jobs zu verketten. Die von Marian vorgeschlagene Methode sp_start_job startet Jobs asynchron. Sie können nicht warten, bis sie abgeschlossen sind, bevor Sie mit dem nächsten Befehl oder dem nächsten Schritt fortfahren.
quelle
SQL Agent wird als Job Scheduler nicht als "Unternehmensklasse" betrachtet. Es fehlen viele Funktionen, die Sie am Ende selbst erstellen müssen. Ein solches Beispiel wären Abhängigkeiten. Infolgedessen sind Sie gezwungen, den größten Teil dieser Logik in SSIS-Pakete zu integrieren. Nicht unbedingt eine schlechte Sache ... nur ein Schmerz, sich selbst aufzubauen und zu verwalten.
Das ist meine Antwort: Erstellen Sie ein SSIS-Paket und verwenden Sie einige t-sql-Befehle, um SQL Agent-Jobs wie gewünscht aufzurufen. Stellen Sie sicher, dass Ihre Anforderungen und Szenarien klar definiert sind. Möglicherweise möchten Sie nicht, dass beispielsweise mehrere Jobs gleichzeitig auf dieselben Tabellen treffen.
HTH
quelle
Sie sollten versuchen, mithilfe eines T-SQL-Skripts in den Schritten Ihres Jobs die gespeicherte Systemprozedur sp_start_job zu verwenden . Damit können Sie verketten, wie viele Jobs Sie möchten.
quelle