1

我有一个 MAIN SSIS 包,它在内部调用 2 个子包。

此 MAIN pkg 一起触发 2 个程序包(使用执行流程任务“dtexec /DTS”),并且有一个业务规则来查看某个时间戳的表列并等到该时间戳是今天的日期(此时间戳由第三方更新)。

我目前正在使用 foreach 循环来检查此时间戳,但是我使用 T-SQL 语句在每次重试之间休眠 10 分钟,即:

WAITFOR DELAY '00:10:00'

我的问题是,这将等待挂起整个 MAIN SSIS pkg 还是仅挂起这个孩子 pkg?

此外,如果有更好的方式来实现此功能,以便两个子 pkg 可以并行运行而不会相互挂起?

4

2 回答 2

1

它会挂起整个主要的 SSIS 包吗?如果您的主包在此步骤中有先例,那么是的,整个包将等待。您可能希望考虑从 SQL 代理作业调用主程序包,并定期执行 10 分钟。

但触发的想法更好。

于 2013-03-17T23:12:26.317 回答
0

一些想法: 关于包设计:将两个子包放在父包控制面上的序列容器中。不要将它们“连接”在一起,以便它们并行运行。在序列容器外放置一个执行 sql 任务。此任务将检查第三方更新的时间戳。使用条件来决定是否执行序列容器。

你打算如何安排你的父母包?创建一个 sql 作业来运行包。如果日期正确,我们能否在表上创建一个触发器来调用该作业。相关链接:http ://www.tek-tips.com/viewthread.cfm?qid=270744

这是一个有趣的问题。请发布您的发现和解决方案描述。祝你好运!

于 2013-03-16T15:12:41.490 回答