【问题标题】:SQL Server Agent job dependency (not step)SQL Server 代理作业依赖(不是步骤)
【发布时间】:2017-04-13 12:56:19
【问题描述】:

我们在 SQL Server 代理中创建了 2 个作业。

  1. 预加载
  2. DWH 加载

两个作业中的作业步骤列表都有不同的步骤。

成功完成 PreLoad Job 后需要运行 DWHLoad。

到目前为止,我已将 PreLoad 安排在凌晨 1:00 运行,并在凌晨 5:00 结束。 DWHLoad 将在早上 6:00 运行以避免 PreLoad 因任何原因延迟时出现问题。

我可以将 PreLoad 步骤收集到 DWHLoad 中并作为一个作业运行以保持依赖关系。

但是,有时我需要单独运行 PreLoad,而 DWHLoad 也是如此。

有没有办法创建对 Job 而不是 Job 步骤的依赖?

即仅在成功完成 PreLoad 作业后启动 DWHLoad?

【问题讨论】:

  • 您可以在 sql 步骤中使用sp_start_job 开始下一个作业
  • 您可以将您拥有的 2 个作业分开并删除计划。这适用于您想要单独运行每一个时。使用计划创建第三个作业,其中一个作业作为第 1 步,另一个作为第 2 步。这将保持对作业何时调度的依赖性。
  • 如果你在一个工作的代码中添加sp_start_job,那不是在你只想运行一个工作的情况下开始第二个工作吗?

标签: sql-server sql-server-agent sql-server-administration


【解决方案1】:

保留您拥有的 2 个工作并删除计划。这将允许您在要手动运行它们的时间右键单击并启动作业。您提到每个作业都有多个步骤,因此您需要按照您需要的顺序使用每个作业的组合步骤创建第三个作业。将计划添加到第 3 个作业中,您将获得与计划作业所需的依赖关系。

【讨论】:

  • 您好杰森,谢谢您的回复。我正在考虑这种解决方法。尽管如此,我很想知道是否有办法在作业之间创建依赖关系。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多