我正在编写系统,需要将数据从客户端本地托管SQL数据库复制到托管服务器数据库。本地数据库中的大部分数据都被复制到活动数据库中,尽管进行了优化以减少需要发送的实际数据量。将数据从本地数据库复制到远程数据库
将数据从一个数据库发送到另一个数据库的最佳方式是什么?目前我可以看到一些可能的选择,但他们都没有脱颖而出成为主要候选人。
- 复制,虽然这并不理想,但我们不能指望它在托管环境中使用的SQL版本中受支持。
- 链接服务器,将数据复制直接 - 一个缓慢的,有点不安全的方法
- Web服务来传送数据
- 导出我们需要为XML,并转移到批量要导入的服务器数据。
复制的数据进入表的副本,没有标识字段,因此可以插入/更新数据,而不会在此方面发生任何违规。这种数据传输不一定要在数据库级完成,它可以通过.net或其他工具完成。
更多信息
更新的频率将在记录的更新频率完全改变。但基本思想是,如果记录被更改,则用户可以将其发布到实时数据库。或者,我们将记录这些更改并将它们以可配置的频率批量发送。
我们正在讨论的记录数量在核心表(产品目录)的核心表(产品目录)中目前大约为4000行,但这完全取决于我们部署的客户端,因为每个客户端都有自己的产品目录,范围从100到1000的产品。为了澄清,每个客户端都在单独的本地/托管数据库组合中,它们不会合并成一个系统。
除了个别发布项目外,我们还需要根据需要完成数据的完全重新同步。
系统的另一方面是从本地服务器复制的一些数据存储在辅助数据库中,所以我们有效地将来自两个数据库的数据合并到一个活动数据库中。
刚开始时,您可以通过在启动时发出“SET IDENTITY INSERT ON”命令来保留标识字段并将其插入到其他数据库中。请记住在完成后关闭它。 – tomfanning 2011-06-30 21:53:37