要獲取執行的作業的詳細信息,您可以使用以下查詢數據庫中的和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
閱讀本
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 – EkoostikMartinDidn'甚至認爲看dba ... – Crisfole
我認爲你將不得不輪詢歷史表的最高instance_id。 – EkoostikMartin