【问题标题】:Ssis package parallel schedulingSsis包并行调度
【发布时间】:2015-04-26 01:23:20
【问题描述】:

我正在做一个项目,我有超过 200 个包,一些包相互依赖,而许多包是独立的

例如。 假设我们有 4 个包名为:A、B、C 和 D 其中 B、C 和 D 依赖于 A,但它们并不相互依赖。

所以我们想要的是当包 A 完成执行所有包,即 B、C 和 D 开始执行。

目前它以串行方式一一执行。

我想让它通过任何批处理脚本或任何其他方式并行执行。

任何线索都会有所帮助。

在 mssql 2014 上工作,用于 vs 2013 的 Sql server 数据工具

【问题讨论】:

  • 它必须有多灵活?我构建了一个工具,允许您自定义运行的包、运行顺序以及并行运行的包。无论如何,您仍然需要创建一个父包来运行所有这些包
  • 这是什么工具?它是一个包装包吗?基本上有一些包属于 0 级类型,而其他包属于 1 级,这意味着 1 级依赖于 0 级,但它们并不相互依赖。一旦所有级别 0 的包执行完毕,级别 1 的包就可以开始执行了
  • 是的,一个包装包,其中包含从数据库运行的并行“执行包”任务。然后我有一个前端来配置要运​​行哪些包,哪些是并行的,要运行哪些参数。所以很容易以任何我喜欢的方式拼凑我的所有包裹
  • 我需要什么来创建那种 UI 来部署包...当我试图创建一个执行包任务时,我需要先在 msdb 中导入包,然后我才能得到包。
  • 我不明白你的问题。

标签: ssis ssis-2012


【解决方案1】:

创建一个包装包 E,将 B、C 和 D 作为子包调用,所有这些都是并行的(无条件依赖)。

您的 SQL 代理作业将调用包 A,然后调用包 E。

【讨论】:

    【解决方案2】:

    使用主包中的Execute Package Task(这将是您将在 SQL Server 代理中安排的包),然后根据您的包依赖关系连接执行包任务。

    例如,首先为 A 创建一个执行包任务,然后创建一个包含 B、C 和 D 的 序列容器,其中所有 3 个包并行运行。最后将 A 的 Execute Package Task 连接到具有 Success 约束的序列容器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多