Gibt es eine Möglichkeit, den aktuellen Status (Ausführen, Leerlauf, etc) und das letzte Ergebnis (erfolgreich, fehlgeschlagen, usw.) und die letzte Laufzeit für eine abzufragen spezifischer Jobname? Das Endergebnis, nach dem ich suche, ist, diese Informationen in einer internen Webanwendung für verschiedene SSIS-Pakete anzeigen zu können.Sql Server 2005 SSIS/Agent - Abfrage des Status eines Jobs
Antwort
exec msdb.dbo.sp_help_job @job_name = 'TheJobName'
gibt die Informationen, die ich will. Also kann ich einfach einen SqlDataReader verwenden, um die Informationen zu erhalten. Beachten Sie, dass diese gespeicherte Prozedur mehrere Ergebnismengen zurückgibt.
Die micrsoft Dokumentation über diesen Shop Prozedur ist http://msdn.microsoft.com/en-us/library/ms186722(SQL.90).aspx
sollten Sie in der Lage sein, diese Informationen inMSDB zu finden - gibt es Tabellen sysjobs, sysjobhistory und sysjobsteps, die die Informationen, die Sie suchen
Eine andere Lösung, die ich verwendet habe, ist eine Referenztabelle mit dem aktuellen Status zu aktualisieren. Es ist schnell und einfach und in der Regel sehr einfach, die Werte, die Sie benötigen, abzurufen.
Zum Beispiel, sobald ein Paket startet, legen Sie einen Datensatz mit Datum und Uhrzeit, Paketnamen, usw.
Dies ist einfach, leicht und integriert mit dem, was anderen Fortschritten berichten Sie tun. – DaveE