本文发表在 rolia.net 枫下论坛我在做一些测试。
Server 1 : db1是 publisher, 有 表
t1:
id int (indentity)
f1: varchar
t1 insert triger :
SET IDENTITY_INSERT dbo.t2 ON
insert into dbo.t2(id,f1)
select
ins.id,
ins.f1
from inserted ins
SET IDENTITY_INSERT dbo.t2 OFF
t2:
id int (indentity)
f1: varchar
store procedure sp_select_t1: select * from t1
push subscription 到 空database Server 2:db2
问题1:
triger 和 store procedure 没有被复制倒db2? 这是正常的吗?
问题2:一个表能同时执行两个同类的triger 吗?
publisher 自动添加了 ins, update, del 3个triger.
t1 表有了两个insert triger. 添加一条纪录后,db1.t2 自动添加一条纪录,但db2.t1 没有添加纪录,过了一会 db1.t1 的纪录也被删了 ( 从db2 merge过来了). 看来只能执行一个insert triger?
那么如何处理带triger 的表呢?想到的一个 办法是把现有的insert triger 加到replication的triger 中,测试似乎也可行,但是如果有百十个triger,就太痛苦了。
我的初衷是建立一个同步备份数据库,如果主服务器由于某种原因无法访问,则客户自动连到备份服务器,所以备份服务器应该拥有和主服务器完全一样的数据库(triger, store procedure), 主服务器正常后,备份服务器自动把更新数据merge 到主服务器上。更多精彩文章及讨论,请光临枫下论坛 rolia.net
Server 1 : db1是 publisher, 有 表
t1:
id int (indentity)
f1: varchar
t1 insert triger :
SET IDENTITY_INSERT dbo.t2 ON
insert into dbo.t2(id,f1)
select
ins.id,
ins.f1
from inserted ins
SET IDENTITY_INSERT dbo.t2 OFF
t2:
id int (indentity)
f1: varchar
store procedure sp_select_t1: select * from t1
push subscription 到 空database Server 2:db2
问题1:
triger 和 store procedure 没有被复制倒db2? 这是正常的吗?
问题2:一个表能同时执行两个同类的triger 吗?
publisher 自动添加了 ins, update, del 3个triger.
t1 表有了两个insert triger. 添加一条纪录后,db1.t2 自动添加一条纪录,但db2.t1 没有添加纪录,过了一会 db1.t1 的纪录也被删了 ( 从db2 merge过来了). 看来只能执行一个insert triger?
那么如何处理带triger 的表呢?想到的一个 办法是把现有的insert triger 加到replication的triger 中,测试似乎也可行,但是如果有百十个triger,就太痛苦了。
我的初衷是建立一个同步备份数据库,如果主服务器由于某种原因无法访问,则客户自动连到备份服务器,所以备份服务器应该拥有和主服务器完全一样的数据库(triger, store procedure), 主服务器正常后,备份服务器自动把更新数据merge 到主服务器上。更多精彩文章及讨论,请光临枫下论坛 rolia.net