如何从另一个SQL服务实例更新表

时间:2015-04-21 13:54:32

标签: sql-server auto-update

如果服务器表已更改(插入或更新),我想链接两个SQL Server实例以更新客户端表。我想通过SQL Server自动完成工作,我在MSDN中阅读了Linked Servers (Database Engine)

这种方法是否符合我的要求,还是有其他方法可以做到这一点?

修改:

我想更新表的数据

3 个答案:

答案 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