如何动态地从多个源加载到多个目标

时间:2014-04-01 00:06:07

标签: sql ssis

我在链接服务器中有超过一百个表(比如在sql server 1上)。我必须通过在sql server 2目标中创建那些数百个表的副本来执行初始加载,基本上是一个简单的转储。我知道如何在SSIS中执行数据流任务以从源中提取数据并将其加载到目标中(也在目标中创建表)。有超过一百个表,我需要创建超过一百个数据流任务,这非常耗时。所以我听说通过循环和创建变量动态地将文件从源复制到目标。现在,我该怎么做?记住,那些百表不包含类似的结构。如何在SSIS中不使用多个数据流任务的情况下更快地执行此初始加载。请帮忙!谢谢!

2 个答案:

答案 0 :(得分:0)

我会使用导入和导出向导 - 它可以完成您在一次传递中描述的所有任务。您只需告诉它您的来源和目的地并检查您想要的表格。它会生成一个SSIS包,您可以根据需要进行保存和自定义。

最简单的方法是通过Windows开始菜单,在SQL Server [版本] /导入和导出数据下找到。

答案 1 :(得分:0)

如果您想自动从100多个表中传输数据,我会考虑使用BIML。 BIML是一种脚本语言,使您可以根据定义的模板生成SSIS包。在您的情况下,此模板可能包括表的创建(如果它们不存在)以及源的映射/复制。然后,您可以将生成的SSIS包装在另一个BIML Master包中。

如果你没有使用MIST,它可能会有点笨拙,但是一旦你进入它,它就会非常强大。一个很好的起点是Andy Leonard's Stairway to heaven series,因为它提供了从源到目标的数据移动的逐步演练。在楼梯指南之后,请查看BIML Script