我在一个SQL Server实例中有两个数据库,它们具有相同的结构。 现在我想为数据库中的某些表编写一些触发器,以便在插入,更新或删除记录时相互同步。
下面的内容将成为触发器之一:
CREATE TRIGGER AdminMessage_Insert
ON AdminMessage
AFTER INSERT
AS
INSERT INTO SecondDb.dbo.AdminMessage
( ID ,
DeptKey ,
AdminKey ,
ReceiverKey ,
MessageText ,
IsActive
)
SELECT i.ID, i.DeptKey, i.AdminKey, i.ReceiverKey, i.MessageText, i.IsActive
FROM INSERTED i
所以我的问题是有很多表,并且每个表的三个触发器的编写似乎不是最好的解决方案。
你能给我一个更好更小的方法吗?更新
我找到了一些方法,例如 CDC ,更改跟踪, SQL审核以及复制(快照复制)并阅读它们。 据我所知,对我来说最好的解决方案是使用'CDC'或'审计'。 在他们两个人中,我必须逐一处理每张桌子,这需要我很长时间。
我可以用更少的工作和一个SQL实例来更改所有表吗? (复制很好,但它需要多个实例)
你的想法是什么?