我正在尝试将一个MSSQL数据库的内容添加到另一个MSSQL数据库。无需冲突管理,无需架构更新。它只是普通的复制和替换数据。如果有人在此更改了目标数据库的数据,则该数据将被覆盖。

显然,有很多方法可以做到这一点

  • SQL Server复制:完善,但使用旧协议(protocol)。除此之外,许多开发人员一直在告诉我,细节决定了细节,复制可能并不总是按预期进行,这对于管理员而言是最佳选择,对开发人员而言则不是。
  • MS同步框架:据说MSF是很酷的新技术。是的,您喜欢获得这是一种新东西,因为它听起来是如此创新。有一种通用的同步方法,听起来像:学习一种技术以及如何集成数据源,您将不必学习如何再次开发同步。但是另一方面,您可以了解到主要用法场景似乎是将MSSQL Compact数据库与MSSQL同步。
  • SQL Server集成服务:这听起来像一个紧急计划的解决方案。万一防火墙无法正常工作,我们将提供一个可以反复执行的程序包……直到防火墙掉线或身份验证得到修复。
  • 蛮力复制和替换数据库文件:可能不是最佳选择。

  • 当然,在Microsoft网站上浏览时,我读到每一种技术(当然不是蛮力的)都被认为是可以在许多情况下应用的可靠解决方案。但这当然不是我想听的东西。

    那么您对此有何看法?您会建议哪种技术。

    谢谢!

    斯特凡

    最佳答案

    最简单的机制是日志传送。主服务器可以将日志备份放在任何UNC路径上,然后您可以使用任何文件同步工具来管理从一台服务器到另一台服务器的日志获取。订阅服务器只是自动还原在其本地文件夹中找到的所有事务日志备份。这不仅会自动处理数据,还会自动处理架构更改。

    订阅服务器将是只读的,但这正是您想要的-否则,如果有人可以更新订阅服务器上的记录,那么您将遭受很大的痛苦。

    10-06 06:16
    查看更多