sql-server - 什么时候在SSIS中制作多个包或数据流任务?

标签 sql-server ssis package dataflow

如果这是一个愚蠢的问题,我很抱歉,因为我似乎无法在谷歌上找到答案,也许是因为其他人认为这很明显,但我是一个有点困惑的初学者。

所以,我正在练习制作一个小型数据仓库。 我在 SSIS 中有以下包: 1.从操作数据库复制到存档数据库 2.从存档复制到暂存区 3. 暂存区改造,入库

这些包由 SQL Server 中的作业控制。

我认为也可以只有一个包并将所有 1-2-3 作为单独的数据流任务放入该包中。我开始对此感到疑惑,因为所有任务中只有一个数据流任务(尽管在数据流任务本身中有许多源-目的地的事情在进行)。

这方面的最佳做法是什么?什么时候做不同的包,什么时候做多个数据流任务。

提前致谢。

最佳答案

这是个人品味的问题。就个人而言,出于多种原因,我更愿意将它们分开,包括但不限于:

  • 如果包 #2 由于架构漂移或其他原因在某个时候中断,包 #3 仍将正常工作(至少对于某些表而言)。
  • 在一个团队中,最好保持小规模,因为多个人可能需要从 CVS check out 不同的包以同时处理它们。如果所有内容都位于一个巨大的包中,那将是根本不可能的。
  • 当数据仓库变得足够大(数百个表)时,将每个阶段拆分为多个包通常很实用 - 例如,每个数据源/主题区域一个。这样更容易不迷失在其中。

此外,大型 SSIS 包非常笨重 - 我记得曾使用过一个重约 30 Mb 的包,这真是让人头疼。

关于sql-server - 什么时候在SSIS中制作多个包或数据流任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25260516/

相关文章:

sql-server - SQL Server 中的 "GRANT ALL TO role"

ssis - 通过 SSIS 连接到 SFTP

sql-server - 我该如何解决这个 SISS 问题?

sql-server - nvarchar 类型的不区分大小写的主键,其中 ß != ss

SQL服务器: Linked-servers without linking servers?

SQL:通过连接查找最大值和连接附加值

sql-server - SSIS foreach 循环将所有唯一客户分组到一个表中并将它们写入自己的文件

java - 现有的 Java 代码库未按目录正确构建。有没有一种工具可以将包分类到适当的目录中?

python - 模块未找到错误: No module named 'unidecode' yet I have the module installed

java - 如何修复MAVEN中的 "Either artifact or artifactItems is required"错误