2014-05-14 51 views
0

這個問題是相似的,但實例ID並不完全符合我要找:Executing SQL Server Agent Job from a stored procedure and returning job resultSQL服務器獲得新的就業

我想運行一個作業返回實例ID中記錄用於報告的單獨表格。我們每天都會提取文件,當我們對文件進行預處理時,我們會啓動一個SQL代理作業。同樣的工作可能會在短時間內被多次啓動,因此我們需要實例編號立即

此外,我在真的使用「作業完成時間」列中顯示一個小破折號的結果。現在我有一個單獨的頁面,只顯示最近的工作狀態。沒有辦法將工作與完成日期連接起來。

我想運行這個工作並立即查詢該作業的最高實例ID就可以做到這一點,但我真的希望能夠做到更簡單一些。

+0

閱讀本Querying SQL Server Agent Job History Data根據這個,那並不多一些冷靜查詢t似乎可能 - http://dba.stackexchange.com/questions/33504/is-there-a-way-to-get-instance-id-from-msdb-dbo-sysjobhistory-during-the-executi – EkoostikMartin

+0

Didn'甚至認爲看dba ... – Crisfole

+0

我認爲你將不得不輪詢歷史表的最高instance_id。 – EkoostikMartin

回答

0

要獲取執行的作業的詳細信息,您可以使用以下查詢數據庫中的和dbo.sysjobhistory表中的MSDB數據庫。

select 
j.name as 'JobName', 
h.instance_id, 
run_date, 
run_time, 
msdb.dbo.agent_datetime(run_date, run_time) as 'RunDateTime', 
run_duration 
From msdb.dbo.sysjobs j 
INNER JOIN msdb.dbo.sysjobhistory h 
ON j.job_id = h.job_id 
where j.enabled = 1 --Only Enabled Jobs 
order by run_date, RunDateTime desc 

結果集

╔═══════════════════════════════════════════════════╦═════════════╦══════════╦══════════╦═════════════════════════╦══════════════╗ 
║      JobName      ║ instance_id ║ run_date ║ run_time ║  RunDateTime  ║ run_duration ║ 
╠═══════════════════════════════════════════════════╬═════════════╬══════════╬══════════╬═════════════════════════╬══════════════╣ 
║ sysDatabase_weekly_Full_Backup_MyServer.Subplan_1 ║  1769 ║ 20130910 ║ 110052 ║ 2013-09-10 11:00:52.000 ║   3 ║ 
║ sysDatabase_weekly_Full_Backup_MyServer.Subplan_1 ║  1770 ║ 20130910 ║ 110052 ║ 2013-09-10 11:00:52.000 ║   3 ║ 
║ sysDatabase_weekly_Full_Backup_MyServer.Subplan_1 ║  2025 ║ 20130915 ║ 20001 ║ 2013-09-15 02:00:01.000 ║   4 ║ 
║ sysDatabase_weekly_Full_Backup_MyServer.Subplan_1 ║  2026 ║ 20130915 ║ 20000 ║ 2013-09-15 02:00:00.000 ║   5 ║ 
║ sysDatabase_weekly_Full_Backup_MyServer.Subplan_1 ║  2415 ║ 20130922 ║ 20000 ║ 2013-09-22 02:00:00.000 ║   17 ║ 
║ sysDatabase_weekly_Full_Backup_MyServer.Subplan_1 ║  2416 ║ 20130922 ║ 20000 ║ 2013-09-22 02:00:00.000 ║   17 ║ 
║ sysDatabase_weekly_Full_Backup_MyServer.Subplan_1 ║  8804 ║ 20130929 ║ 20000 ║ 2013-09-29 02:00:00.000 ║   4 ║ 
╚═══════════════════════════════════════════════════╩═════════════╩══════════╩══════════╩═════════════════════════╩══════════════╝ 

要了解關於如何查詢SQL Server代理作業歷史記錄由乍得Churchwell