【发布时间】:2014-03-21 09:39:35
【问题描述】:
如何通过 T-SQL 脚本查询 SQL-Server 上所有“RUNNING”(已启用)JOBS 及其详细信息(尤其是开始时间、频率)?
谢谢!
【问题讨论】:
标签: sql-server tsql sql-agent-job
如何通过 T-SQL 脚本查询 SQL-Server 上所有“RUNNING”(已启用)JOBS 及其详细信息(尤其是开始时间、频率)?
谢谢!
【问题讨论】:
标签: sql-server tsql sql-agent-job
use msdb
select distinct a.name JOBNAME, isnull(DESCRIPTION,'No description available') DESCRIPTION,c.Name Category,
isnull (b.database_name,'None') DATABASE_NAME, isnull(f.name, 'None') Job_Owner,
case when d.name is null then 'No Schedule' else d.name end Schedule,
isnull (case d.freq_type
when '1 ' then 'Once'
when '4' then 'Daily'
when '8' then 'Weekly'
when '16' then 'Monthly'
when '32' then 'Monthly relative'
when '64' then 'When SQL Server Agent starts' end, 'None') as Frequency,
isnull (case d.freq_interval
when '1' then 'None'
when '2' then 'Monday'
when '4' then 'Tuesday'
when '8' then 'Wednesday'
when '16' then 'Thursday'
when '32' then 'Friday'
when '64' then 'Saturday'
end,'None') as DAY,
case when active_start_time < 120000 then
isnull(left(convert(varchar,convert(decimal,D.Active_start_time)/10000),4) + ' AM','None') else
isnull(left(convert(varchar,convert(decimal,D.Active_start_time)/10000-12),4) + ' PM','None') END
JOB_start_time,
isnull (convert (varchar,d.Date_Created), 'None') Created_Date
from sysjobs a
Inner join sysjobsteps b on
a.job_id = b.job_id
left outer join syscategories c on a.category_id = c.category_id
left outer join master.dbo.syslogins f on a.Owner_sid = f.sid
left outer join sysjobschedules e on e.job_id = a.job_id
left outer join sysschedules d on e.schedule_id = d.schedule_id
where a.enabled = 1
order by a.name
【讨论】:
在您的 sql-server 上运行此查询
SELECT *
FROM msdb.dbo.sysjobsteps AS JobStep
INNER JOIN msdb.dbo.sysjobs AS Job ON JobStep.job_id = Job.job_id
WHERE enabled=1
【讨论】: