0

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

每天,工作人员都会对我们本地环境中的一些表格进行更改,最终这些更改需要传递到我们的托管环境中。有很多数据被传输,但我只推送。

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

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

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

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

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

编辑

请注意。我只需要推送表中的一些记录,而不是全部。

4

1 回答 1

0

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

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

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

您也可以SSIS按照@criticalfix 的建议使用

于 2013-09-16T15:35:08.853 回答