在两个链接服务器之间复制数据

时间:2015-06-09 09:42:40

标签: sql-server transfer bulk

我有两个MSSQL Server实例,一个在DMZ上,因此无法访问内部网络。

所以SERVER1(在防火墙内部)将今天的数据推送到SERVER2(在DMZ上)。

如何在将大量行移动到SERVER2上的表时获得更好的性能?今天这样做。

INSERT INTO SERVER2.DB.DBO.TABLE SELECT something from SERVER1Table

它非常缓慢且耗时,并且至少它不会为外部用户锁定表格。

问题在于SERVER2是一个网络服务器,是客户登录和检查某些信息的门户。

或者我几乎被推入使用拉数据查询的选择?所以我需要通过防火墙打开MSSQL端口,让DMZ SERVER2从SERVER1中提取数据?

2 个答案:

答案 0 :(得分:0)

SQL Server Integration Services(SSIS)应该是工作的正确工具......

该工具的目的是传输和转换数据,因此他们非常擅长这一点。

您可以轻松扩展您的软件包并开发简单的任务,例如您在几分钟内提到的任务。

答案 1 :(得分:0)

Ssis可能会花费相似的时间。您应该优化您的架构。尝试添加两个步骤以最小化锁定:

  1. 使用任何过滤功能在服务器上快速复制到新的本地表。
  2. 在名称相似的新表上复制到server2
  3. 从server2上的新表复制到最终目的地。
  4. 这样,两个表之间的最慢步骤就会完全与影响用户断开连接。