【发布时间】:2016-04-21 07:31:51
【问题描述】:
所以情况是有两个服务器pub_server(发布者)和sub_server(订阅者)。
pub_server 上有两个数据库:db1 和 db2。
在 db1 中有一个表 xyz_tbl,它被复制(事务)到 sub_server(发布者名称:publisher_old)。
我的任务是从publisher_old 删除订阅和文章,并在db2 上创建一个新的发布者publisher_new,其中包含相同的文章xyz_tbl 和相同的订阅者sub_server。
现在问题来了:xyz_tbl 有一个计算列。因此,当我为 publisher_new 执行脚本时,我在复制监视器中出现错误。
错误:The column "column_name" cannot be modified because it is either a computed column or is the result of a UNION operator
我正在使用@sync_type="replication support only",因为表已经存在于订阅者(来自publisher_old)。那么为什么分发者试图对产生上述错误的订阅者执行插入。
如果分发者正在尝试插入,那么复制是如何从db1 进行的,即publisher_old。
如何处理复制中的计算列。我找不到任何答案。
请帮忙!
【问题讨论】:
标签: sql-server sql-server-2008 database-replication