2011-09-21 35 views
0

所以我有两台服务器。 SER1,SER2。 SER1是我应该复制数据并将其放入SER2的地方。SSIS:集成两台服务器

而且我有几个SER2存储的特效,我需要执行,然后放回了预期的效果在SER1不同的表。

现在,我需要2个更多的存储特效。 1.将SER1的基本数据复制到SER2,其他将SER2的所有数据复制到SER1。

问:

  1. 在哪个服务器,我应该使这些存储的特效?
  2. 我应该做一个可以运行所有SP的SSIS包,所以SSIS包正在照顾从SER1到SER2的数据拷贝? (我没有链接服务器)

回答

2

是的,你可以在SSIS中没有链接服务器的情况下执行存储过程作为数据源。但是,您不能在存储的proc中使用临时表。我通过使用派生表或CTE得到了这个结论。该proc应该只是一个选择而不是一个行动过程。

您希望proc位于您可以从SSMS运行它的位置。所以如果它引用服务器a,数据库b中的表,那就是它需要的地方。

在SSIS中创建您要Ø比布尔作为源或目标中使用的每个数据库的连接。

然后创建一个数据流,并使用包含要在OLE DB源连接的源连接运行PROC数据库。将数据访问模式设置为SQL命令,并将exec statemenet运行proc inteh SQL命令文本。如果您需要输入参数,请单击参数按钮来完成此操作。现在检查栏标签。如果没有列出现,您的存储过程需要调整以使其作为连接工作。

然后为要将数据放入的数据库选择连接作为目标连接。并告诉它什么表,并做映射。

+0

感谢您的回答。因此,在控制流程中,我需要执行哪些任务以及在数据流中需要什么转换?也协助我将一项任务连接到另一项。谢谢 –

+0

您需要执行哪些任务取决于您在做什么以及需要转换多少数据。我不能在这样的网站上回答这样的问题。 – HLGEM

0

首先,你需要链接服务器,我不明白你的意思是“我没有链接服务器” - 与你需要创建一个链接服务器。

为1)你写的基于逻辑的存储过程,如果你有两个服务器1和2,你想将数据从服务器1复制到服务器2,则服务器1理应包含存储过程。它是否必须是这种方式,绝对不是,它可以在服务器2上,但逻辑思考这个。

对于2)你需要一个链接的服务器,怎么回事你能执行ServerName.DbName.Owner.Table?

+0

我可以只做一个SSIS包并执行一个存储过程的包,它会自动将表复制到两台服务器上? –