在作业中运行特定的SSIS数据流任务

时间:2016-03-04 09:05:06

标签: ssis package ssis-2012

可以通过Visual Studio仅运行specific Data Flow task(右键单击数据流并执行)。例如。你有多个数据流 - 但只执行其中一个。

我现在正试图通过工作来实现这种能力 - 例如我有1个控制流,有2个数据流(DataFlow1DataFlow2) - 并在

SQLJob1 - 它会触发DataFlow1

SQLJob2 - 将触发相同SSISPackage的DataFlow2

前面提到的链接状态"您可以使用前置约束上的表达式构建一个特殊的控制流逻辑来定义可选的执行路径。"

我不想创建特殊的控制流逻辑 - 或者安装了2个单独的SSIS包 - SQL命令会在Job中触发什么 只有DataFlow1请?

我看到我可以在VS中右击并禁用特定数据流 - 然后运行包。我试图看到用于禁用/启用特定数据流的命令,但是没有SQL查询 - 或者是否可以运行SQL查询来禁用/启用特定数据流?

1 个答案:

答案 0 :(得分:1)

这是SSIS的方式,我很抱歉,但它涉及“特殊控制流逻辑”,因为没有别的办法:

  1. 在SSIS包中添加包级变量。

  2. 将脚本任务添加到SSIS包的控制流中。该脚本不必执行任何操作。把它想象成一个“起始锚”。这将是你的包中首先执行的事情。

  3. 将单独的优先约束(将任务链接起来的小箭头)从脚本任务添加到两个数据流。

  4. 双击每个优先约束并将它们设置为使用表达式进行验证。使用您创建的变量,如果变量设置为“DataFlowA”,则将其中一个路径设置为true,如果设置为“DataFlowB”,则设置另一个路径为真。

  5. 在作业中,将变量的值设置为您要执行的数据流的适当值。

  6. 这就是答案。对不起,这不是你所希望的,而是这些问题的答案:

      

    作业中的SQL命令将仅触发DataFlow1   请?   是否可以运行SQL查询来禁用/启用特定的   数据流?

    分别是

    没有这样的命令 不,无法以编程方式启用和禁用任务。