控制流程为黄色 - 数据流中无颜色;这是怎么回事?

时间:2012-02-27 22:08:29

标签: sql-server ssis ssis-2008

正如问题所示,我正盯着一个包含多个控制流元素的转换,其中很多都是数据流。

目前,控制流选项卡中的一个数据流对象亮起黄色。当我通过双击或选择“数据流”选项卡打开该数据流对象时,没有任何颜色的框被点亮。

这会让我相信它正在验证,或许?

有没有办法告诉它正在做什么,以及任何有助于加快这一过程的步骤?

**编辑:

我看了一下执行情况,看起来它已经停留在Pre-Execute阶段大约50%。是否有任何优化要做这个阶段。

未运行的数据流的屏幕截图。 (这是在控制流程将此数据流任务显示为黄色时采取的)

enter image description here

5 个答案:

答案 0 :(得分:1)

当您进入包的配置属性并选择“调试属性'它是否已设置为“优化”'模式?如果是这样,它将变为黄色,然后在完成后变为绿色/红色。您需要确保在优化的情况下运行'关闭和交互模式'是的。

答案 1 :(得分:1)

如果你要找的只是识别为什么它是黄色的,请查看错误列表窗口并单击警告以在需要时使它们可见。这至少应该确认它是否只是验证或其他。

答案 2 :(得分:1)

我将这些块中的每一块都分成了自己的DF。其中一个DF继续陷入Pre-Execute阶段。我运行了该OLE DB源的查询,并发现由于一些丢弃的索引而长时间运行的查询。替换了索引,变换停止了。

答案 3 :(得分:1)

SSIS包中的数据流遇到了类似的问题。无论它必须传输多少行,在复制所有行之后,任务仍然是黄色的,并且目标表中没有数据(MS SQL Server 2012)。我可以通过删除目标表并再次发出CREATE TABLE / CREATE INDEX来解决问题。

答案 4 :(得分:1)

另一个潜在的解决方案(对于像我这样在未来遇到此问题的人)是确保组件不使用内部事务。

我发生了这种情况(数据流中的所有任务都是绿色,但在控制流上显示为黄色)今天早上有一个包进行批量更新。我使用的组件有一个复选框来打开一个内部事务,它在允许数据流完成之前等待SQL Server的响应。

找一个关闭内部事务或表锁的复选框,然后重新运行。