积极答复者
如何把多个发布服务器的数据复制到一个订阅服务器中

问题
答案
-
数据操作是根据主键,只要能保证不同的发布服务器主键不冲突,就不会有问题,否则是需要额外加列保证唯一的
- 已标记为答案 Cris Zhang 2015年5月12日 4:45
-
数据操作是根据主键,只要能保证不同的发布服务器主键不冲突,就不会有问题,否则是需要额外加列保证唯一的
您好,我想再请教您一个问题,事务复制能否让订阅服务器修改的数据回发到发布服务器可以的,主要有两种
1、具有可更新的事务复制
2、合并复制
Love SQL
- 已标记为答案 Cris Zhang 2015年5月12日 13:11
-
数据操作是根据主键,只要能保证不同的发布服务器主键不冲突,就不会有问题,否则是需要额外加列保证唯一的
您好,我想再请教您一个问题,事务复制能否让订阅服务器修改的数据回发到发布服务器楼主你好,你还可以参考一下这个
Love SQL
- 已标记为答案 Cris Zhang 2015年5月13日 6:44
全部回复
-
发布项目属性里面有个目标表存在时的处理方法,默认是删除重建,你可以选择不做处理
参考: sp_addarticle 的 @pre_creation_cmd 参数说明
-
Hi ,Cris Zhang
我估计你是同一个数据库做了两个或多个同步链 (两个或多个发布),比如同步链a中有表aa,同步链b中也有表aa
我没有试过你这样做复制,但是理论上没有意义,一般来说同步链a中有表aa就可以了,不需要在创建同步链b的时候再次添加aa表
sqlserver告诉你:由于同步链a中有表aa,正在进行复制,你在同步链b中又加入了表aa,这时初始化同步链b,那么表aa 需要drop掉并且把快照应用到订阅端表aa,就出错了
请问你这样做有什么意义吗?你是想在同步链a中的数据传到表aa 的时候,同步链b的数据又传到表aa??
Love SQL
- 已编辑 Steven.桦仔 2015年5月11日 11:12 edit
-
多个数据库复制到订阅端的一个库是可行的,分发会根据下面的信息进行命令路由
exec sp_addsubscription
@publication = N'pub_A_TZR11',
@subscriber = N'TZR11',
@destination_db = N'TaskA',
情景:发布服务器有五个表 a,b,c,d,e 订阅端 有四个表 a,b,c,d
如果你不想把d表进行初始化,你只需要不把d表加入到发布里面就行了,意思就是说:你可以建立两个发布,一个发布是不需要初始化的,另一个发布是需要初始化的,那么互相不影响,如果你的表a,既放在a发布,也放在b发布,那么肯定会影响
Love SQL
- 已编辑 Steven.桦仔 2015年5月11日 13:49 edit
-
多个数据库复制到订阅端的一个库是可行的,分发会根据下面的信息进行命令路由
exec sp_addsubscription
@publication = N'pub_A_TZR11',
@subscriber = N'TZR11',
@destination_db = N'TaskA',
情景:发布服务器有五个表 a,b,c,d,e 订阅端 有四个表 a,b,c,d
如果你不想把d表进行初始化,你只需要不把d表加入到发布里面就行了,意思就是说:你可以建立两个发布,一个发布是不需要初始化的,另一个发布是需要初始化的,那么互相不影响,如果你的表a,既放在a发布,也放在b发布,那么肯定会影响
Love SQL
谢谢您的耐心答复,也就是说表a不能放在多个发布中吗?我的项目现在需要多个发布项目同时发布数据到同一个表中即表a,并且不互相覆盖 -
数据操作是根据主键,只要能保证不同的发布服务器主键不冲突,就不会有问题,否则是需要额外加列保证唯一的
- 已标记为答案 Cris Zhang 2015年5月12日 4:45
-
数据操作是根据主键,只要能保证不同的发布服务器主键不冲突,就不会有问题,否则是需要额外加列保证唯一的
您好,我想再请教您一个问题,事务复制能否让订阅服务器修改的数据回发到发布服务器可以的,主要有两种
1、具有可更新的事务复制
2、合并复制
Love SQL
- 已标记为答案 Cris Zhang 2015年5月12日 13:11
-
数据操作是根据主键,只要能保证不同的发布服务器主键不冲突,就不会有问题,否则是需要额外加列保证唯一的
您好,我想再请教您一个问题,事务复制能否让订阅服务器修改的数据回发到发布服务器楼主你好,你还可以参考一下这个
Love SQL
- 已标记为答案 Cris Zhang 2015年5月13日 6:44