簡體   English   中英

如何立即知道sql作業代理執行?

[英]How to know as soon as the sql job agent is executed?

我正在從前端控制台應用程序運行sql服務器作業,現在執行該作業后,我需要數據庫的返回響應。 我知道,如果我在同一個正在運行的作業上發送另一個命令,則我可以返回正在進行中的作業的狀態,但是我需要知道在作業執行后如何從數據庫中獲取響應。 我將在應用程序中使用該狀態來顯示,作業已成功執行。

謝謝

您可以在msdbsysjobssysjobhistory獲取有關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

資源

SQL將SQL作業的歷史記錄和狀態存儲在sysjobshistory中。SQL可以通過電子郵件提醒您,並寫入事件日志。但是據我了解,沒有事件可以訂閱以查看狀態。

C#中有一些示例,它們以相同的方式重復輪詢以查看作業狀態 ,這與您運行查詢以檢查作業的方式相同。

幾乎所有可用的方法都要求您輪詢並查看狀態,但沒有選擇訂閱作業完成事件的選項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM