如果服务器表已更改(插入或更新),我想链接两个SQL Server实例以更新客户端表。我想通过SQL Server自动完成工作,我在MSDN中阅读了Linked Servers (Database Engine)。
这种方法是否符合我的要求,还是有其他方法可以做到这一点?
修改:
我想更新表的数据
答案 0 :(得分:0)
你可以在这里使用Microsoft同步框架是文档https://msdn.microsoft.com/en-us/sync/bb887608.aspx 或使用复制
答案 1 :(得分:0)
最简单的方法是通过主表上的触发器,如下所示:
use masterdatabase;
go
create trigger update_clients_of_master
on dbo.mastertable
after update as
begin
update cl1
set cl1.col1 = i1.col1, cl1.col2=i1.col2
from inserted i1
inner join clientdbname.dbo.clienttable cl1 on cl1.id=i1.id
end
如果无法创建链接服务器,则可以使用事务复制来使表保持同步,但触发器可能更容易维护。
答案 2 :(得分:0)
您可以使用允许您将一个对象(例如一个表)或更多对象发布到另一个服务器的复制,并在更改源(通过插入或更新)时自动更新客户端表。 https://msdn.microsoft.com/en-us/library/ms151198.aspx