【问题标题】:How to run SSIS jobs sequentially with SQL Agent如何使用 SQL 代理按顺序运行 SSIS 作业
【发布时间】:2019-10-04 15:43:47
【问题描述】:

我有 5 个 SSIS 作业要按顺序运行。为此,我创建了一个包含 5 个步骤的作业,每个步骤都与一个 SSIS 相关联。步骤配置如下:

  • SSIS 的 EXEC msdb.dbo.sp_start_job 名称
  • 如果成功,进入下一步。
  • 如果出错,退出工作。

如上所述,所有步骤都链接在一起,但显然有些步骤是并行运行的。

我还需要做什么才能让它们按顺序运行?

提前致谢

【问题讨论】:

  • 出于兴趣,您为什么还在使用msdb 而不是SSISDB?至于您要问什么,为什么不在控制流中按顺序调用每个包(使用执行包任务)并运行该包的“主”包?
  • 刚进入项目,正在修复一些bug....会看看,谢谢
  • 其实我很怀念你写的东西,我以为你是用msdb来启动包的,但是你用它来启动代理任务;道歉。您可能正在使用 SSISDB,所以我关于“master”包的观点可能是最好的主意;在我看来。
  • 要按顺序运行,请使用执行 SSIS 步骤。不要调用sql作业,这是异步的
  • 创建一个作业,每个步骤按照您希望它们执行的顺序调用一个 SSIS 包。

标签: sql-server ssis sql-agent


【解决方案1】:

如果我对您的理解正确,您的问题源于msdb.dbo.sp_start_job 过程完全按照它所说的那样:它开始工作然后退出。 它不会等待相关作业完成。

如果您需要序列化包的执行,在您的主要作业中,您需要自己执行包,而不是运行它们的其他作业。这样,在前一个包完成之前,下一个包不会启动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 2023-03-08
    • 2019-03-27
    相关资源
    最近更新 更多