SQL Agent Jobs,如何记录

时间:2011-04-18 17:29:12

标签: sql database sql-server-2000

我想最终得到一种日历,它显示不同的预定作业及其步骤(执行的确切命令)。但是我很难找到所有的数据。所以我的问题是双重的:

1)有没有人知道可以通过电子表格或其他易于操作的格式从sql server 2000获取此数据的软件(最好是开源或免费)?

2)任何人都可以帮助我获取获取此数据所需的查询。如何在数据库中组织SQL代理作业?

欢迎任何有关此问题的指导。

2 个答案:

答案 0 :(得分:4)

有关作业的信息存储在服务器上的MSDB数据库中。

Tables in the MSDB database会引起您的兴趣(姓名不言自明)

  • sysjobs
  • sysjobsteps

时间表存储在这里

  • sysjobschedules

您可以在此处获取执行历史记录

  • sysjobhistory

有几个built in procedures可以帮助您了解详情:

  • sp_help_job
  • sp_help_jobhistory
  • sp_help_jobschedule

答案 1 :(得分:0)

使用此查询获取我需要的信息:

SELECT j.name, database_name,Step_id, Subsystem, command, Sjs.enabled, SJS.freq_type,
sjs.freq_interval, sjs.freq_subday_type, freq_subday_interval, freq_recurrence_factor, next_run_date, next_run_time
FROM sysjobsteps SJ
INNER JOIN sysjobs J ON SJ.Job_id = J.Job_Id
INNER JOIN sysJobschedules SJS ON J.Job_ID = SJS.Job_id
order by J.name, SJ.step_id