Ich habe versucht, mithilfe von SQL Server 2005 Beispielcode zu finden. Ich muss einen Agentenjob starten und warten, bis der Prozess abgeschlossen ist und der Erfolg oder Fehler erzielt wird.
Ich weiß, dass ich
verwenden kann %Vor% um den Job zu starten, aber ich kann keinen Beispielcode finden, um die msdb.dbo.sp_help_job
abzurufen, um zu wissen, wann sie abgeschlossen ist und dann herauszufinden, ob sie erfolgreich war oder fehlgeschlagen ist.
Sie können die Spalte run_status in der Tabelle sysjobhistory konsultieren. 0 zeigt einen Fehler an.
Vielleicht keine sehr zuverlässige Methode, aber ich könnte versuchen, den Job am Anfang und am Ende des Prozesses in eine bestimmte Tabelle schreiben zu lassen und diese Tabelle in meiner Client-Anwendung abzufragen (oder ADO-Ereignisse zu verwenden) entsprechende Ereignishandler auszulösen).
Hier ist Code, den ich für diesen Zweck geschrieben habe. Ein Nachteil ist, dass es den Fall nicht behandelt, in dem der Job bereits ausgeführt wird, wenn diese Prozedur ausgeführt wird.
%Vor%Tags und Links sql-server-2005 tsql sql-agent-job