sql - SQL 如何计算作业计划的 NEXT_RUN_DATE?

标签 sql sql-server sql-server-agent

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

最佳答案

要获取作业的下一个运行日期,您可以使用 sysschedulessysjobschedules表格

检查表 sysjobschedules 中的 next_run_date 和 next_runtime 列

next_run_date int Next date on which the job is scheduled to run. The date is formatted YYYYMMDD.

next_run_time int Time at which the job is scheduled to run. The time is formatted HHMMSS, and uses a 24-hour clock.

查看此脚本

Select sched.*,jobsched.* FROM msdb.dbo.sysschedules AS sched
inner Join msdb.dbo.sysjobschedules AS jobsched ON sched.schedule_id = jobsched.schedule_id

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

更新

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

检查 link查看使用示例。

关于sql - SQL 如何计算作业计划的 NEXT_RUN_DATE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2398921/

相关文章:

sql - 通过关联的 Rails 查询仅限于最近的记录?

sql - 如果您不构建数据仓库,应该如何将维度表与事实表分开?

asp.net - 未找到结果时提出建议的 SQL

sql - 如何设置 SQL Server 代理?不在 Sql Server 管理中显示

sql - 寻找 T-SQL 脚本来删除 SQL 作业

mysql连接别名同一个表

sql - 有没有办法在线处理 Oracle\Scott 帐户?

sql - MS SQL - 选择记录子集的问题

sql-server - 确定应用程序正在使用哪个端口的最佳方法是什么?

sql - 如果 SQL Server 作业已经在运行,它会跳过计划的运行吗?