2009-01-29 119 views
2

我们已经在SQL Server 2000中安排了一些作业。我们希望这些作业按顺序执行,即一个作业的失败应该阻止下一个作业的运行。有人可以帮助我做到这一点或者在计划任务之间创建依赖关系。作业的顺序调度

回答

4

您可以将您的工作定义为单个工作的步骤。因此,您可以在每一步中指定是否应在错误情况下执行下一步。

+0

我不能强调我对此有多认同。我看到了复杂的ETL和许多工作,当出现问题时,支持人员需要非常详细的知识才能解决问题。具有多个步骤的单个作业更易于管理。 – NeedHack 2009-01-29 11:56:15

0

我已经在队列系统中完成了这项工作,以缓存涉及4或5个步骤的数据,并且必须允许步骤之间的复制延迟。

实现起来相当耗时,因为父任务产生了1到n个有时需要按顺序执行的子步骤,有时不相关。

如果沿着这条路走下去,您需要为错误消息和进程日志创建一个位置。

我强烈建议,如果以任何方式将它创建为具有多个步骤的一项作业,则应使用现有的作业代理。每个单独的步骤都可以配置为在失败时退出,继续失败,电子邮件失败等 - 它非常灵活。

2

不是将作业合并到一个单独的块中,而是分成几块来简化错误检测并使管理更容易。它使您可以逐步控制您的流程。如果您的SQL作业可以通过批处理文件执行,则可以使用Windows任务计划程序并定义依赖关系。但是,如果主题是更复杂的ETL过程管理,则最好在作业调度程序上管理此过程。