【问题标题】:Sql Server create dynamic jobsSql Server 创建动态作业
【发布时间】:2018-05-29 18:13:57
【问题描述】:

我必须创建计划,如果计划的下一次运行时间在接下来的 15 分钟内,我必须为计划创建一个作业并运行它。

我知道 sysjobschedules 中有一个 next_run_time 字段,但是,有没有办法只使用计划而不为计划创建作业来获取 next_run_time 值?

我使用 sp_add_schedule 创建了时间表,并想知道是否有办法在不为其创建作业的情况下获取该时间表的下一个预定日期/时间,以便我可以根据动态创建作业下次运行日期/时间值

【问题讨论】:

  • 我们是在谈论 SQL 代理作业吗?
  • 您如何建议创建一个没有工作的工作计划?对我来说,这听起来像是一个经典的 xy 问题。 xyproblem.info
  • @Dave.Gugg OP 提到了sysjobschedules,所以它必须是 SQLAgent 作业。但是question的意思是逃避m。
  • @SeanLange - 使用 sp_add_schedule
  • @BenThul 是的,您可以创建一个计划,但它的 next_run_date 和 next_run_time 为 0。在将作业附加到日程表之前,日程表没有任何意义。因此,对于 OPs 问题来说,这并不比没有时间表好。

标签: sql-server dynamic jobs job-scheduling


【解决方案1】:

您无法创建没有作业的计划。时间表是其作业的子项。

【讨论】:

  • 这不是真的。在我的系统上,我刚刚使用 sp_add_schedule 创建了一个没有作业的计划。 Jobs:Schedules 是 n:m,其中 n 或 m 可以为 0。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
相关资源
最近更新 更多