触发器 实现两台服务器的数据同步

Posted hkronline-syncnavigator

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了触发器 实现两台服务器的数据同步相关的知识,希望对你有一定的参考价值。

第一,先配置两台电脑,具体的步骤请参见http://support.microsoft.com/kb/839279/en-us 

 

 

 

第二,创建连接服务器,代码如下: 

 

exec   sp_addlinkedserver  ‘srv2‘,‘‘,‘SQLOLEDB‘,‘192.168.0.14‘ 

 

exec   sp_addlinkedsrvlogin   ‘srv2‘,‘false‘,null,‘sa‘,‘sa123456‘ 

 

 说明:这两个存储过程是系统定义的,直接用就行。参数解释,‘srv2‘:链接服务器的别名,通过这个别名你就可以在 后面引用到链接服务器。中间有一个空字符串,不知道是啥意思,不用管它。‘SQLOLEDB‘:数据提供方式,微软的一种机制,没必要管它,直接下上去就 行了。‘192.168.0.14‘ :连接服务器的IP地址。‘sa‘:登录链接服务器的用户名。‘sa123456‘

 

, 登录连接服务器的密码。

 

第三,创建触发器: 

 

create   trigger   t_test   on   orderText  

 

for  delete  

 

as

 

set    xact_abort   on 

 

begin  distributed   tran

 

    delete   from    srv2.CsFoods.dbo.FoodType1

 

    where   TypeId  in(select   id   from   deleted) 

 

    commit tran

 

第四,测试。

 

这里,我们删除一条数据

 

delete from orderText where id=1

 

这条数据一被删除,马上会触发srv2服务器上的CsFoods数据库中的FoodType1数据表中的TypeId为1的数据被删除。

 

 

 

如果想在同一台服务器上访问另一个数据库,这个更简单,方法一:按照上面的SQL代码添加链接服务器,但不用配置那些东西了,直接可以访问到。

 

方法二:很简单很简单,直接用数据库名就能访问到。比如 select *  from  Northwind.dbo.orders。推荐第二种方法
---------------------
作者:gaohuimin
来源:CSDN
原文:https://blog.csdn.net/gaohuimin/article/details/84741518
版权声明:本文为博主原创文章,转载请附上博文链接!

以上是关于触发器 实现两台服务器的数据同步的主要内容,如果未能解决你的问题,请参考以下文章

Oracle不同数据库之间同步处理方案

两个一样的oracle 数据库怎么实现数据定期同步?

两台服务器两个sql数据库怎么实现数据同步?

如何使用两台服务器实现主从同步与数据读写分离

怎么实现两台服务器的mysql数据同步

使用两台服务器实现数据库的主从同步与分离