我正在使用一个SSIS包,它本身调用多个SSIS包并在执行期间定期挂起。
这是一个每天一次的软件包,每天晚上运行,从我们的人口普查数据库中收集新的和更改的记录,并将它们迁移到我们数据仓库的临时表中。每个维度都有自己的包,我们通过这个包调用。
所以,包看起来像
所有这些都是执行SQL任务,除了移动记录任务,这些任务是二十多个执行包任务(数据移动任务),它们在某种程度上并行执行。 (一次最多四个。)
奇怪的是,它几乎总是在由SQL代理(使用代理用户)或dtexec执行时失败,但在我通过Visual Studio运行包时永远不会失败。我已经添加了日志记录,以便我可以看到它停止的位置,但它不一致。
我们在开发/培训环境中工作时没有看到任何此类信息,但数据量却相当小。我想知道我们是否只是立刻做了太多。
我可以 - 测试 - 通过SQL Server代理连续执行任务,以查看调用包的包是否有问题,但我宁愿不这样做,因为我们在晚上的时间相对较短为七个数据库服务器执行此操作。
我对SSIS稍微有点新意,所以任何建议都会受到赞赏。
贾斯汀