2016-03-29 5 views
0

フロントエンドのコンソールアプリケーションからSQL Serverジョブを実行していますが、ジョブが実行されるとすぐにデータベースからの返信応答が必要になります。 私は同じ実行中のジョブで別のコマンドを送信する場合、私はジョブの進行状況として戻りステータスを持つことができますが、私はジョブが実行されるとすぐにデータベースからの応答を取得する方法を知る必要があります。私は私のアプリケーションでその状態を使用して、ジョブが正常に実行されたことを示します。SQLジョブエージェントが実行されるとすぐに知る方法は?

おかげ

答えて

0

あなたはmsdbテーブルsysjobssysjobhistoryでSQLジョブについての情報を得ることができます。

SELECT job.name 
    , CASE jobHistory.run_status 
    WHEN 0 THEN 'Failed' 
    WHEN 1 THEN 'Success' 
    WHEN 2 THEN 'Retry' 
    WHEN 3 THEN 'Cancelled' 
END AS Run_Status 
FROM msdb.dbo.sysjobs job 
INNER JOIN msdb.dbo.sysjobhistory jobHistory ON job.job_id = jobHistory.job_id 
WHERE job.name = 'your job name' 
GROUP BY job.name, jobHistory.run_status 

Source

0

SQLストアは歴史とsysjobshistory.SQLでのSQLジョブのステータスは、電子メールを介して警告を発する私の理解あたりとしてイベントlog.Butに書き込むことができ、あなたが購読できるイベントがありません

C#には、ジョブを確認するためにクエリを実行するのと同じジョブstatusを見るために同じ方法で繰り返しポーリングするいくつかの例があります。

ほとんどの方法でポーリングしてステータスを確認する必要がありますが、ジョブ完了イベントに登録するオプションはありません

関連する問題