将数据从一个MS SQL Server复制/克隆到另一个MS SQL Server

时间:2010-10-12 15:22:34

标签: sql-server database synchronization

我正在尝试将一个MSSQL数据库的内容添加到第二个MSSQL数据库。不需要冲突管理,也不需要更新架构。它只是一个简单的副本并替换数据。目标数据库的数据将被覆盖,以防有人在那里改变了某些东西。

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

  • SQL Server Replication:已经建立,但使用旧协议。除此之外,许多开发人员一直告诉我魔鬼在细节中并且复制可能并不总是按预期工作,这对于管理员来说是最佳选择,但对于开发人员则不是。
  • MS Sync Framework:据说MSF是一项很酷的新技术。是的,这是新的东西,你喜欢,因为它听起来如此创新。有一种通用的同步方法,这听起来像:学习一种技术以及如何集成数据源,你将永远不必学习如何再次开发同步。但另一方面,您可以读到主要的使用场景似乎是将MSSQL Compact数据库与MSSQL同步。
  • SQL Server Integration Services:这听起来像是一个紧急计划解决方案。如果防火墙不能正常工作,我们会有一个可以反复执行的软件包......直到防火墙出现故障或认证被修复为止。
  • 强力复制和替换数据库文件:可能不是最佳选择。

当然,在微软网站上看时,我读到每种技术(当然除了蛮力)都被认为是一种可以在许多场景中应用的可靠解决方案。但那当然不是我想听到的东西。

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

谢谢!

的Stefan

2 个答案:

答案 0 :(得分:4)

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

订阅者将是只读的,但这正是您想要的 - 否则,如果有人可以更新订阅者的记录,您将会处于一个受伤的世界。

答案 1 :(得分:1)

我会在你的列表中添加两种技术。

  • 将T-SQL脚本写入INSERT ...直接选择数据
  • 创建数据库的完整备份并将其还原到新服务器

如果它是一个大型数据库并且您不会经常这样做,那么我会选择备份和恢复选项。它为您完成大部分工作,并保证复制所有对象。

我没有听说有人使用Sync Framework,所以我很想知道是否有人成功使用过它。