以随机顺序更正SSIS执行任务

时间:2018-08-27 15:30:01

标签: visual-studio ssis operator-precedence

这是8年前的转贴,因为那里提供的解决方案对我没有用,也许现在对我和其他有此问题且无法解决的其他人也有更多选择。 / p>

我有六个数据流任务,如以下屏幕截图所示: SSIS Screenshot

每次我执行它们时,它们以不同的顺序执行,甚至第一个执行两次。我已经重新创建了任务,希望是SSIS按创建顺序执行它们。

尽管有优先约束,但每次执行程序包时它们都会以随机顺序运行,因此我决定重新创建整个程序包。也失败了。

由于我没有找到其他解释,所以感觉简直就像是微软在惹我。

如果我的帖子没有被选为“冗余”,提供的任何帮助都会使我感到宽慰。

/ 进行编辑以添加信息 /

我真正的问题是SSIS没有按定义的顺序插入数据。它只是根据需要执行数据插入。因为我确实需要将数据以指定顺序本地存储。我以前做过,只是不明白为什么这个tiem不同。但是我可以运行ORDER BY来获取所需的数据,除了访问数据的人不是我,希望提取并打印数据的人注意这一点。

但是最大的问题是SSIS执行了两次随机任务,因为我出于任何原因都没有重复的数据,以后也将用于汇总(我怀疑这与随机顺序有关)因为发布原始问题的人与我的问题完全相同)。

注意到这些问题的真正方法不是查看SSIS流程,而是查看存储在数据库中的数据。抱歉,如果我不清楚我的问题。

1 个答案:

答案 0 :(得分:0)

SSIS日志未按任务运行的顺序显示任务。实际上,在上面的屏幕快照中,它似乎按字母顺序将它们放置了。

仅仅是因为Abril在执行日志中位于Enero上方,并不意味着Abril首先运行,Enero其次运行。

基于以下评论的附录:

您可能会误以为,如果您以某种顺序将数据插入数据库,那么当您在不指定ORDER BY的情况下选择该数据时,将按照插入顺序获得数据。 This turns out not to be the case.以某种顺序从数据库获取数据的唯一保证方法是在选择SELECT时使用ORDER BY子句。

让我对此完全清楚。当您说“我从三月开始的数据比一月以来的数据被列在第一位时,意味着它被首先插入”,您错了。

至于为什么您的一月份数据似乎要插入两次,我们需要查看所有工作部分的详细信息:原始源数据,插入前的目标数据,插入后的目标数据以及SSIS包做插入。没有足够的信息来自己重现该问题,我们将无法帮助您理解为什么它会在您的包裹中发生。