+ -
当前位置:首页 → 问答吧 → 发布订阅 触发器

发布订阅 触发器

时间:2011-11-14

来源:互联网

环境:
  有两台服务器A、B。
  都安装有SQL Server 2008数据库。
  有相同的数据库:TestDB(Tb1、Tb2、Tb3)
  两个服务器之间通过 发布(A)订阅(B) 实现数据的同步!
  B 服务器的 TestDB 数据库另外还有表 Tb1_Temp、Tb2_Temp、Tb3_Temp,3张Temp表的数据来源是对应表(Tb1、Tb2、Tb3),通过触发器实现。
  

问题:
  1、发布订阅时,发布表和订阅表的结构是否可以不一致,如:订阅表比发布表多一个字段(用来标记是否触发)?
  2、因为 Tb1_Temp、Tb2_Temp、Tb3_Temp 三表的数据是相关联(发布服务器没有关联)的,如:通过 Tb_ID 字段关联,可以看成是主外键关系,主键表:Tb1_Temp;外键表:Tb2_Temp、Tb3_Temp 
  这样一条记录就必须先插入 Tb1_Temp,在插入 Tb2_Temp、Tb3_Temp。
  请问,如何控制这个触发的先后顺序呢???

作者: wrongcai   发布时间: 2011-11-14

新增列是可以同步的,不需要重新初始化做額外的

作者: roy_88   发布时间: 2011-11-14

1、发布订阅时,发布表和订阅表的结构是否可以不一致,
如:订阅表比发布表多一个字段(用来标记是否触发)?
--> 可以不一樣,但需要修改一下訂閱端DB裡用來處理DML動作的存儲過程(共3個).

2、因为 Tb1_Temp、Tb2_Temp、Tb3_Temp 三表的数据是相关联(发布服务器没有关联)的,
如:通过 Tb_ID 字段关联,可以看成是主外键关系,主键表:Tb1_Temp;外键表:Tb2_Temp、Tb3_Temp  
  这样一条记录就必须先插入 Tb1_Temp,在插入 Tb2_Temp、Tb3_Temp。
  请问,如何控制这个触发的先后顺序呢???
--> 3個表分別建3個複製, 同步的頻率錯開, 即tb1先同步, 過多幾分鐘再跑tb2,tb3的同步.

作者: ap0405140   发布时间: 2011-11-14

樓主的擔心的問題都是不存在,同步SQL自己處理這兩類情況,建議你自己動手測試

作者: roy_88   发布时间: 2011-11-14

既然同步起来了用触发器做什么。。。

作者: ssp2009   发布时间: 2011-11-14