使用SSIS从两个单独的数据库创建新数据库

时间:2014-01-22 08:24:44

标签: sql sql-server database ssis etl

我是SSIS的新手。我按照解释的方案完成了任务。

情景:

我在不同的机器上有两个数据库A和B,并且有大约25个表和20个具有关系和依赖关系的列。我的任务是创建一个数据库C,其中包含选定的表格,并且在每个表格中,我不需要所有列,而是选择一些列。要满足的条件是关系应该是完整的,并在新数据库中自动创建。

我做了什么:

  • 我使用传输SQL Server对象任务创建了一个包来传输表和关系。
  • 然后我手动编辑了不需要的列
  • 然后我使用数据源和目标
  • 传输数据

我的问题是:我可以在一个包装中实现所有这些功能吗?在我传输数据之后,我如何安排包只将数据库中最近插入的行传输到新数据库?

请帮帮我 提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用SQL Server代理作业来安排程序包 - 作业步骤的一个选项是运行SSIS包。

关于传输新行,我会:

  • 跟踪另一个表中的当前“位置”,假设您有升序键或时间戳列 - 将当前位置加载到SSIS变量中,在数据源查询的WHERE语句中使用此变量

  • 将所有数据传输到每个表的“转储”副本中(没有关系/密钥等只需要相同的模式)&使用T-SQL MERGE语句加载新行,然后截断“转储”表。

希望这是有道理的 - 在写作中有点困难。