使用ssis将一组相关表中的一些数据复制到另一组

时间:2016-01-29 07:38:08

标签: ssis

我需要将10天的数据存档到存档数据库表中,您能否帮我理解如何将数据从一组相关表复制到另一组(包括相关行),同时保留行之间的正确关系。

这是一个图表,显示了源表和目标表集的数据模型:

Source & Destination tables

归档数据库中的相同表结构。

1 个答案:

答案 0 :(得分:0)

您应该能够使用“数据流任务”来实现这一点,可能每个表都有一个。只需从没有任何依赖关系的表开始(图中的表A),然后使用SSIS工具箱中相应的数据源和目标组件将数据从源表复制到目标表。之后复制仅依赖于这些第一个表(表B)等的表的数据。

如果源表中的主键列以某种方式计算(例如通过使用标识增量),它们在归档表中的相应列应该是相同的数据类型,但是,它们不应该被计算,因为这会弄乱你的依赖。但它们仍然是主键。

更新关于 10天旧部分:在数据源组件中,您可以使用SQL查询仅读取所需的特定行。只要您确保SSIS作业不会在一天开始并且一直运行到午夜之后(即它在一天内完全运行),您就可以在这些查询的WHERE条件下计算日期部分。更清洁的解决方案是计算第一个数据流任务之前的日期,然后将其作为变量传递给每个数据流任务。这样,您可以确保所有查询都使用相同的日期值。