Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql SSIS:集成两台服务器_Sql_Ssis - Fatal编程技术网

Sql SSIS:集成两台服务器

Sql SSIS:集成两台服务器,sql,ssis,Sql,Ssis,所以我有两台服务器。SER1,SER2。SER1是我应该复制数据并将其放入SER2的地方 此外,我在SER2上有几个需要执行的存储过程,然后将所需结果放回SER1上的另一个表中 现在,我还需要2个存储过程。 1.将基本数据从SER1复制到SER2,其他用于将所有数据从SER2复制到SER1 问题: 我应该在哪台服务器上进行这些存储过程 我应该制作一个可以运行所有SP的SSIS包,所以SSIS包负责将数据从SER1复制到SER2?(我没有链接的服务器) 首先,你需要链接的服务器,我不明白你说的“我

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

此外,我在SER2上有几个需要执行的存储过程,然后将所需结果放回SER1上的另一个表中

现在,我还需要2个存储过程。 1.将基本数据从SER1复制到SER2,其他用于将所有数据从SER2复制到SER1

问题:

  • 我应该在哪台服务器上进行这些存储过程
  • 我应该制作一个可以运行所有SP的SSIS包,所以SSIS包负责将数据从SER1复制到SER2?(我没有链接的服务器)

  • 首先,你需要链接的服务器,我不明白你说的“我没有链接的服务器”是什么意思,你需要创建一个链接的服务器

    对于1)根据逻辑编写存储过程,如果有两台服务器1和2,并且希望将数据从服务器1复制到服务器2,则服务器1应在逻辑上包含该存储过程。它必须是这样的吗?不,绝对不是,它可以在服务器2上,但请从逻辑上考虑这一点


    对于2)您需要链接服务器,否则如何执行ServerName.DbName.Owner.Table?

    是的,您可以将存储的过程作为数据源执行,而无需在SSIS中使用链接服务器。但是,不能在存储过程中使用临时表。通过使用派生表或CTE,我得到了这个结果。该过程应仅为选择过程,而不是操作过程

    您希望进程位于可以从SSMS运行它的位置。所以,如果它引用服务器a、数据库b中的表,那么它就需要在那里

    在SSI中,您可以创建到每个数据库的连接,这些数据库可以用作源或目标

    然后创建一个数据流,并使用包含要作为OLE DB源连接中的源连接运行的proc的数据库。将data Accessmode设置为SQL命令,并将exec statemenet设置为运行proc inteh SQL命令文本。如果需要输入参数,请单击“参数”按钮。现在检查columns选项卡。如果未显示任何列,则需要调整存储的进程以使其作为连接工作


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

    我是否可以制作一个SSIS包并在包中执行一个存储过程,该存储过程将自动跨两台服务器复制表?谢谢您的回答。所以在控制流中我需要执行什么任务,在数据流中我需要进行什么转换?还可以帮助我将一项任务连接到另一项任务。感谢您需要执行的任务取决于您正在做什么以及需要转换多少数据。我不能在这样的网站上回答这样的问题。