插入后的Datatrigger - 插入另一个服务器上的表

时间:2017-08-30 12:39:21

标签: sql sql-server

我有两个独立的SQL服务器,我们称之为A_server和B_server。当A_server上有插入/删除/更新时,应在B_server上插入/删除/更新该行。我找到了大量关于如何在两个表都在SAME服务器上时对数据触发器进行编码的示例,例如:

CREATE TRIGGER yourNewTrigger ON yourSourcetable
FOR INSERT
AS
   INSERT INTO yourDestinationTable
   (col1, col2    , col3, user_id, user_name)
   SELECT 'a'
        , default
        , null
        , user_id
        , user_name
   FROM inserted
GO 

但我没有找到任何数据触发器的例子,它在不同服务器上的表之间完成。连接字符串在哪里准确到底是什么样的?

1 个答案:

答案 0 :(得分:1)

也许这可以帮到你。

首先,创建一个链接服务器

use master
exec sp_addlinkedserver
   @server='NameOf_LinkedServer', 
   @srvproduct='',
   @provider='SQLNCLI', 
   @datasrc='yourServer\instance1';

然后指向它

CREATE TRIGGER yourNewTrigger ON yourSourcetable
FOR INSERT
AS
   INSERT INTO NameOf_LinkedServer.DataBaseName.Owner.yourDestinationTable
   (col1, col2    , col3, user_id, user_name)
   SELECT 'a'
        , default
        , null
        , user_id
        , user_name
   FROM inserted