事务复制的数据库兼容性要求

对于事务复制,来自MSDN文章的“在两个版本要求内”的订阅者适用于SQL Server实例、数据库兼容性级别还是两者都适用?

例如,这个环境设置下,复制是否能正常工作?

  • 发布者和订阅者SQL实例:SQL Server 2014企业版64位(12.0)
  • 分发器数据库兼容性级别:110
  • 发布者数据库兼容性级别:110
  • 订阅者SQL实例:SQL Server 2017企业版64位(14.0)
  • 订阅者数据库兼容性级别:140

1我不知道,但是你对升级兼容性级别有什么明确的问题吗?一般建议在升级过程中将兼容性级别保持在服务器版本之下,只作为临时措施。 - LowlyDBA - John M
使用发布者数据库的应用程序不支持高于110的兼容性级别,因此无法升级发布者数据库的兼容性。然而,我需要升级订阅者实例和数据库,并且如果可能的话,我想升级到2017版。 - jhase511
1个回答

这个MSDN文章中关于事务复制的“在两个版本要求之内”的订阅者是指SQL Server实例、数据库兼容性级别还是两者都是? 是的。不是。不是。 数据库兼容性级别是无关紧要的,你永远不会在分发数据库上设置数据库兼容性,因为它是一个系统数据库。 SQL Server 2014发布者/分发者可以有一个SQL Server 2017订阅者。 SQL Server 2017支持向后兼容到100级别,所以如果需要的话,你可以将订阅者数据库设置为110兼容性级别。如果你发布视图、存储过程、存储过程执行或者在订阅者表上有触发器而没有设置为NOT FOR REPLICATION,那么你可能需要这样做。

唯一的缺点可能是由出版商创建的bcp文件不一定兼容。但解决方案很简单。 - clifton_h