SQL如何为作业计划计算NEXT_RUN_DATE?

Fra*_*sco 1 sql sql-server sql-server-agent

我必须手工计算下一个工作的运行日期,你能帮助我吗?

RRU*_*RUZ 6

获取您可以使用的作业的下一个运行日期,然后使用sysschedulessysjobschedules

检查表sysjobschedules中的next_run_date和next_runtime列

next_run_date int计划作业运行的下一个日期.日期格式为YYYYMMDD.

next_run_time int计划作业运行的时间.时间格式为HHMMSS,使用24小时制.

看到这个脚本

Select sched.*,jobsched.* FROM msdb.dbo.sysschedules AS sched
inner Join msdb.dbo.sysjobschedules AS jobsched ON sched.schedule_id = jobsched.schedule_id
Run Code Online (Sandbox Code Playgroud)

或者您可以使用msdb.dbo.sp_help_jobschedule存储过程来获取相同的信息.

UPDATE

如果需要手动计算next_run_date,则必须检查 sysschedules表并查看freq_interval,freq_subday_type,freq_subday_interval,freq_relative_interval,freq_recurrence_factor,active_start_date,active_start_time列以确定公式.

查看此链接以查看使用示例.