将已发布复制数据库的数据库兼容性级别从 90 更改为 100 的影响

Bob*_*Bob 11 replication sql-server-2005 sql-server sql-server-2008-r2

我有一个 SQL Server 2008 R2 服务器,其中包含一堆当前在兼容级别 90 (2005) 下运行的已发布数据库。

订阅数据库也是 SQL Server 2008 R2,但是目标数据库设置为兼容性级别 100,并且复制工作正常。

如果我更改已发布数据库的兼容性级别,它会以任何方式影响复制,还是只是重新初始化所有订阅并重新启动复制的情况?

我怀疑更改已发布的数据库兼容性级别可能会稍微改变复制存储过程的功能,但我不是 100% 确定。

是这种情况吗?

Kin*_*hah 4

您可以按照以下步骤操作:

  • 确保数据库的日志读取器代理正在运行。默认情况下,代理持续运行。
  • 停止已发布表上的用户活动。
  • 留出时间让日志读取器代理将事务复制到分发数据库,​​然后停止代理。
  • 执行 sp_replcmds 以验证是否已处理所有事务。此过程的结果集应该为空。
  • 执行 sp_replflush 以关闭与 sp_replcmds 的连接。
  • 更改数据库的兼容性级别
  • 启动日志读取器代理。