保持旧数据库 (SQL 2008) 中的数据与新数据库 (SQL 2016) 相同?

arl*_*iss 6 replication sql-server-2008 sql-server sql-server-2016

我正在将数据库移动到新服务器。

新服务器运行 SQL Server 2016,当前服务器运行 SQL Server 2008。

我需要在几周内制定备份/后备计划(以防出现问题 - 我可以将我的应用程序切换回 2008 Server 并继续工作)。

我想知道是否可以启用复制(或替代方案?)并使所有事务/合并在 2008 实例上同步,以便两个数据库都是最新的,以防我需要切换到旧数据库?

由于业务需求,我们必须能够回退到 SQL Server 2008。这是没有商量余地的。

小智 7

从评论转换:

根据Replication Backward Compatibility,事务复制在 2016 年发布者和 2008 年订阅者之间不起作用,但将支持合并复制。查看合并复制以查看它是否适合您的需求。—斯科特·霍金

或者升级到 2014,它将向后兼容到 2008 以进行事务复制。一旦你有了稳定的船,如果需要,你可以前进到更高的版本。–拉曼坎特·达希奇


Dav*_*oft 7

我想知道是否可以启用复制(或替代方案?)并使所有事务/合并在 2008 实例上同步,以便两个数据库都是最新的,以防我需要切换到旧数据库?

这有点复杂,但您可以引入 SQL Server 2014 服务器作为 Transactional Replication Subscriber 和Republisher

但唯一的另一种选择是开发一组脚本,将 SQL 2016 数据库中的所有更改移动到 SQL 2008 数据库中。或者使用数据库导入/导出向导。如果执行回退的概率足够低,并且您有足够的时间执行此操作,那么这可能是一个不错的选择。