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

Run a specific SSIS Data Flow Task in a Job

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

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

SQLJob1 - 它会触发 DataFlow1,

SQLJob2 - 将触发 DataFlow2 相同的 SSISPackage

前面提到的 link 表示 "You can build a special control flow logic using expressions on precendance constraints to define optional execution paths."

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

我看到我可以在 VS 中右键单击并禁用特定数据流 - 然后 运行 包。我试图查看针对 disabling/enabling 特定数据流的命令,但是没有针对它的 SQL 查询 - 或者是否可以 运行 SQL 查询 disable/enable具体的数据流向?

这是执行此操作的 SSIS 方式,很抱歉,但它涉及 "special control flow logic" 因为没有其他方式:

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

  2. 将脚本任务添加到 SSIS 包的控制流中。该脚本不必执行任何操作。将其视为 "starting anchor"。这将是您的包中执行的第一件事。

  3. 从脚本任务向您的两个数据流添加单独的优先约束(link 任务的小箭头)。

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

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

这就是答案。很抱歉,这不是您所希望的,而是这些问题的答案:

what would the SQL command be in the Job to fire only DataFlow1 please? is it possible to run SQL query to disable/enable specific data flow?

分别是

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