sqlserver2008 多个数据库往同一个数据库同步问题

sghys 2012-03-02 05:23:55
环境:有a,b,c 三个数据库(sqlserver2008),都有test表,表结构相同
a和b是发布服务(合并发布),c是订阅服务,在c里建立两个订阅服务分别对应a和b
但是,失败了,不行

由于该订阅中有一个或多个表属于另一个发布,导致无法用初始快照来初始化它,因此也无法删除它。请考虑在不使用快照的情况下手动初始化订阅。 (源: MSSQL_REPL,错误号: MSSQL_REPL-2147200976)

只能使用一个订阅服务,不能把a,b的test表往c里发布

业务环境:
c是省级系统数据库,而a、b是市级系统数据库,现在想把市级数据往省级上报,如何同步呢?上面的试验证明了复制/订阅这条路走不通了,发布只能是一对多,即一个发布对多个订阅,而不能多对一订阅 即多个发布对应一个订阅
...全文
282 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy__Huang 2013-08-09
  • 打赏
  • 举报
回复
引用 2 楼 sghys 的回复:
这么说要在订阅服务器上建立2个test表(表名不同),然后建立两个订阅服务,分别对应a,b市级系统数据库 然后在订阅服务器上再建立一个作业来把a,b发布的test表数据合并到省级系统的test表中? 假设有10个市级数据库,要同步到省级系统中,那订阅服务器上要建10个test表?每个市级数据库有100张表,那订阅服务器上要建1000张表了?
只有一个表做订阅有弊端,你不好检查是哪个城市订阅失败? 换个想法,每个城市单独建立一个数据库订单,这样哪个市数据订阅失败可以很快检查出来。
rubynle 2013-08-09
  • 打赏
  • 举报
回复
可以试试合并复制,a,b做合并复制后,再把其中的一个表作为发布,然后c订阅这个发布。 只是提供个思路,之前也没有这样做过,可以试下看行不行。
magicdatou 2013-08-08
  • 打赏
  • 举报
回复
请问您最后的解决方案是什么啊? 我最近也开始做这个了
sghys 2012-03-03
  • 打赏
  • 举报
回复
这么说要在订阅服务器上建立2个test表(表名不同),然后建立两个订阅服务,分别对应a,b市级系统数据库
然后在订阅服务器上再建立一个作业来把a,b发布的test表数据合并到省级系统的test表中?

假设有10个市级数据库,要同步到省级系统中,那订阅服务器上要建10个test表?每个市级数据库有100张表,那订阅服务器上要建1000张表了?
sghys 2012-03-03
  • 打赏
  • 举报
回复
楼上的说了等于没说
Q315054403 2012-03-03
  • 打赏
  • 举报
回复
有偿同步支持。。当然不是复制订阅
配置灵活、性能保障
rlef 2012-03-02
  • 打赏
  • 举报
回复
这个如果你非要要发布的话,要建立几个字表,每个子表对应一个订阅。收取发布的信息,然后在订阅服务器上执行一个作业来把几个子表的数据合并到一个表中。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧