visual-studio - 更正 SSIS 以随机顺序执行任务
问题描述
这是 8 年前的转贴,因为那里提供的解决方案对我不起作用,也许现在我和其他有这个问题但也无法解决的人有更多的选择。
每次我执行它们时,它们都会以不同的顺序执行,甚至第一个也会执行两次。我重新创建了任务,希望是 SSIS 按创建顺序执行它们。
尽管有优先约束,每次我执行包时它们都会以随机顺序运行,所以我决定重新创建整个包。也失败了。
感觉就像微软在惹我生气,因为我找不到其他解释。
如果我的帖子没有被选为冗余,那么提供的任何帮助对我来说都是一种解脱。
/编辑以添加信息/
我真正的问题是 SSIS 没有按定义的顺序插入数据。它只是随意执行数据插入。因为我确实需要以指定的顺序本地存储数据。我以前做过,只是不明白为什么这个 tiem 不同。但是,我可以运行 ORDER BY 来获取我想要的数据,但访问数据的人不是我,希望提取和打印数据的人注意到这一点。
然而,最大的问题是 SSIS 执行两次随机任务,因为我不能出于任何原因复制数据,因为它稍后也将用于汇总。(我怀疑这与随机顺序执行有关,因为发布原始问题的人与我有完全相同的问题)。
注意到这些问题的真正方法不是查看 SSIS 进程,而是查看存储在 DB 中的数据。抱歉,如果我不清楚我的问题。
解决方案
SSIS 日志不会按任务运行的顺序向您显示任务。实际上,在您上面的屏幕截图中,它们看起来像是按字母顺序排列的。
仅仅因为在您的执行日志中Abril
位于上方Enero
并不意味着Abril
先Enero
运行后运行。
基于以下评论的附录:
您误以为如果您按特定顺序将数据插入到数据库中,那么当您在未指定 ORDER BY 的情况下选择该数据时,您将按照插入的顺序获取数据。 事实证明并非如此。 以特定顺序从数据库中获取数据的唯一保证方法是在 SELECT 时使用 ORDER BY 子句。
让我非常清楚这一点。当您说“我从 3 月开始列出我的数据而不是从 1 月份开始列出我的数据,这意味着它首先被插入”,你错了。
至于为什么您的一月份数据似乎要插入两次,我们需要查看所有工作部分的详细信息:原始源数据、插入前的目标数据、插入后的目标数据以及执行插入。如果没有足够的信息来自己重现问题,我们无法帮助您了解为什么它会在您的包裹中发生。
推荐阅读
- ios - 为什么蓝牙经典和 LE 设备在 iOS 上的名称相同?
- angular - Angular 2 - 倒数计时器从分钟切换到秒?
- java - 无法使用 gson 解析 json 输入
- angular - DragulaModel 不使用动态数据
- java - Fxml 中的第二个窗口
- azure-devops - VSTS 扩展任务认证窗口
- mercurial - TortoiseHG 克隆不起作用并验证操作发出警告
- python - 是否可以在 Python 中使用“print”写入剪贴板?
- hyperledger-fabric - 超级账本作曲家休息服务器错误 grep
- javascript - JavaScript 对象中的不同函数声明之间有什么区别(如果有的话)?