SQL Server:事务复制计算列

jza*_*ruk 8 sql-server transactional-replication

我是事务复制订阅的订阅者。我无法控制出版商。

我已阅读以下有关发布数据库架构更改的文章:

对发布数据库进行架构更改

但是,我正在尝试更改订阅端的架构(如果可能)。我想知道事务复制是否支持向订阅者表添加持久计算列。

我更喜欢这个解决方案,而不是为每个需要计算值的表添加一个新视图。

Cle*_*ill 8

您可以这样做,但请记住,如果重新初始化订阅,您的新列将被清除。IE。发布者的 DBA 更改发布以添加表、损坏、维护等,并且需要重新应用快照,您对复制模式所做的任何更改都将删除并从发布中重新创建。因此,您所做的任何更改也将被删除。


Jon*_*gel 5

我对其进行了测试,是的,即使在对等网络下也能正常工作。(我原来的评论是不正确的,因为它只适用于物理列。)

鉴于您不控制发布,我建议您非常小心地命名您添加的列,以免干扰未来的任何架构更改。此外,如果此数据库支持第 3 方 ISV 应用程序,例如,我会非常谨慎地对基表进行任何架构更改。