使用ssis中的单个数据流导出多个表

时间:2013-01-24 14:19:57

标签: ssis

我有10个表,我使用SSIS导入到另一个sql server数据库。

我是否必须创建10个不同的Dataflow任务,还是可以继续执行一个Dataflow任务并将10个表添加到其中?

我曾尝试使用单个数据流任务,但它只允许使用单个表。

2 个答案:

答案 0 :(得分:2)

所有源表是否共享一个公共架构? 所有目标表是否共享一个公共模式(不必与源表的公共模式相同)?

如果两个问题的答案都是“是”,那么您实际上可以编写单个数据流任务(其连接管理器已参数化)并将其放入Foreach循环容器中。

如果这些问题中的任何一个(或两个)的答案都是“否”,那么您将必须拥有单独的来源和目的地。您可能希望调查Business Intelligence Markup Language作为自动生成这些数据流的方法,尽管它对于“仅”十个表可能有点过分。

答案 1 :(得分:1)

答案取决于您和您的最佳实践以及您将同时处理项目的开发人员数量。

完全可以在一个数据流中放置多组表。您可以简单地向数据流中添加其他源和目标。但是,这几乎不是一个好主意,因为它会在项目生命周期的后期添加维护工作。这使得查找和调试错误变得更加困难。它使整个项目更加复杂。

如果你是独自工作而且你将自己构建和维护这个项目的整个生命周期,那么无论如何都要做你觉得最舒服的事情。

如果您所在的组都可以维护此项目,我建议您至少将不同表的数据流分解为不同的数据流任务。

如果你是一个更大的群体并且为了更加灵活的维护,我建议将每个数据流分解到一个不同的包中(假设2008年或以下。我还没有参与2012年的项目模型,所以赢了'在这里评论他们),以便每个人可以同时由不同的开发人员工作。 (即使你是这个项目中唯一的一个,我也会建议用这种方式进行编码,但这只是我在职业生涯中开发的风格。)