在不同服务器和环境中跨2个sql实例复制数据的最佳方法是什么

时间:2013-09-16 14:36:08

标签: tsql sql-server-2012

我正在尝试优化从我们的本地环境到托管环境复制sql数据的方式。

每天工作人员都会对我们当地环境中的几张表进行更改,并且在一天结束时,这些更改需要传递到我们的托管环境。有很多数据被转移,但我只是推动。

我目前正在使用链接服务器并从一个表中选择并插入到另一个表中。

insert into table a
select * from server.db.dbo.table
where server.db.dbo.table.column in (select column from b)

我阅读了批量插入,但这似乎只是一种从文件插入数据库的方式。有多个表,我在一个事务下运行它,该事务锁定表并停止站点大约30分钟。

我目前正在考虑将数据存储在保存表中,然后从那里复制它。这要快得多。

有没有人有任何其他建议?

修改

请注意。我只需要推动表中的一些记录而不是所有记录。

1 个答案:

答案 0 :(得分:0)

您需要同步完整数据库吗? 目标环境是R / O吗?

如果两个问题的答案都是肯定的,那么最简单的事情就是log shipping,有一些技巧可以使目标数据库在日志传输之间可用于R / O.

如果只需要表格和那些表格作为R / O,我会寻找transactional replication

您也可以使用SSIS作为@criticalfix建议