在我目前的要求中,我们有一个DataMart数据库,我们在其中从许多其他数据库中提取数据。
该表的架构在所有数据库中可能不相同。
问题1 :是否可以使用一个通用的SSIS包从所有源数据库中提取数据,尽管数据库中的架构可能不同。
我的理解是架构不一样,因此每个数据库的转换都会有所不同。因此,我正在考虑每个源数据库单独的SSIS包。
SSIS包当前设计: truncate staging table - >将数据从源提取到临时表+转换+添加源列值 [我需要跟踪数据源和列,即源是DB1,DB2 ..] - >在主表中合并 以上设计(截断步骤作为第一步)我被迫每个源数据库有一个临时表。 (如果我有5个表和3个源数据库,那么我需要有15个临时表)
问题2 :是否可以使用一个临时表管理所有源数据库(即(例如,如果我有总共5个表和总共3个源数据库;我仍然只需5个分段即可管理所有源数据库的表/公共登台表)
注意:SSIS包可以同时为DB1,DB2 ..
运行 普通登台表的但问题我看到解决方案是让我们说而SSIS pkg1正在执行SSIS pkg2也被解雇了。现在作为步骤1,这将删除SSIS Pkg1的所有已处理记录。这可能使正在进行的SSIS pkg1 :: forloop计数器[MERGE步骤]无效,并且可能导致跳过某些记录,作为MERGE步骤的一部分
答案 0 :(得分:1)
回答1:
是的,您可以使用1个带有三个数据流的SSIS进行iu
回答2:
只要您所有5个表的架构都在1个不稳定的表中。但我会创建5个临时表,并同时从3个数据库加载它们。
您可以使用所有ETL任务执行一个大包。
但问题
包1完成后运行package2。
希望这有帮助。