最近测试可更新订阅的架构更改问题,发现了一个 bug。
在复制中,当在发布数据库对发布数据库进行架构更改时,结构自动同步到订阅中(这就是 复制架构更改)。由于某些原因,对某个表增加字段时,不需要同步到订阅。在发布属性中,有一个选项可以控制不同步架构更改。如下图:
只有将 复制架构更改 的值改为 false ,更改结构则不同步,更改实时生效。
也可以脚本来更改该参数:
EXEC sp_changepublication @publication = N'publication', @property = N'replicate_ddl', @value = 0 GO EXEC sp_changepublication @publication = N'publication', @property = N'replicate_ddl', @value = 1 GO
但是在 Microsoft SQL Server 2008 R2 (RTM) 中,该参数更改有问题。当把参数改为 False 时,架构更改是不会同步了;但是再把参数改回 True 时,发现结构更改也还是不同步。怀疑是bug,没有找到相关文档说明这个问题,于是自己下载 Microsoft® SQL Server® 2008 R2 Service Pack 3 更新试试看。安装SP3 后,正常了!~也许这个功能用的比较少吧,没有找到该问题的问题和修复文档,既然 sp3 有修复,那说明官方已经确认修复了。