2011-10-06 69 views
0

我有一个包含27个步骤的SSIS包,从表截断到数据导入,转换和一堆sql查询。我的问题是,更好的做法是将它们全部放在一个包中,还是将步骤分成单独的包?SQL SSIS有多少步骤太多

+2

然后下一个问题将是:SQL SSIS许多包如何太多 – SQLMenace

回答

2

我的一般建议是尽可能简化和集中包装,但不要小。这很有帮助,我知道这里是我的一些判断标准,以决定它是新包还是适合当前包。

  • 如果27步包装在步骤26爆炸,你是否隆隆起来?它可以正常重启还是需要多个小时的清理?

如果答案需要清理,那么我会将包分解成一系列较小的包,直到它们满足可重新启动标准。

  • 在不常见的分支包中有逻辑吗? 例如我见过有日期检查的软件包,如果是清除周末(每年一次),它会执行这个特殊的代码分支,这个分支过于复杂,复杂且只是被吸引。这应该从来没有在每天运行的软件包中。另一个例子是日常销售工作。另一个团队试图添加逻辑,也计算月末库存总计。完全不同的主题领域和错误的启动时间表,但他们认为这比启动一个新软件包要快。

  • 假设2008+,你需要分享查找缓存的结果吗?如果是这样,数据流需要在同一个包中。

+1

刚刚投过票了这个答案,尤其是重新封装和分离的学科领域。还有一件技术性的东西需要补充:打开包(在设计时和运行时都会导致整个包(所有任务)的验证)。这为开发人员和生产环境增加了时间开销,而且很可能其中一个目标是尽快加载数据。验证时间取决于验证逻辑(也许您有一些非验证组件的非MS组件)和连接质量。当然,首先回头看看指南,然后才考虑验证开销。 –

+0

感谢您的信息!就目前而言,我的软件包包含清理过程,现在整个过程需要大约30分钟的时间(每天导入数百万行中的几个表)。这个软件包会变得越来越复杂,所以我想确定是否需要分离东西,我会尽早做。 – Jessica