同步两个数据库

*--同步两个数据库的示例  

06    
07  有数据  
08  srv1.库名..author有字段:id,name,phone,  
09  srv2.库名..author有字段:id,name,telphone,adress  
10    
11  要求:  
12  srv1.库名..author增加记录则srv1.库名..author记录增加  
13  srv1.库名..author的phone字段更新,则srv1.库名..author对应字段telphone更新  
14  --*/  
15    
16  --大致的处理步骤  
17  --1.在  srv1  上创建连接服务器,以便在  srv1  中操作  srv2,实现同步  
18  exec  sp_addlinkedserver    'srv2','','SQLOLEDB','srv2的sql实例名或ip'  
19  exec  sp_addlinkedsrvlogin  'srv2','false',null,'用户名','密码'  
20  go  
21    
22  --2.在  srv1  和  srv2  这两台电脑中,启动  msdtc(分布式事务处理服务),并且设置为自动启动  我的电脑--控制面板--管理工具--服务--右键  Distributed  Transaction  Coordinator--属性--启动--并将启动类型设置为自动启动  
23  go  
24    
25    
26  --3.实现同步处理  
27    
28  --a.在srv1..author中创建触发器,实现数据即时同步  
29  --新增同步  
30  create  trigger  tr_insert_author  on  author  
31  for  insert  
32  as  
33  set  xact_abort  on  
34  insert  srv2.库名.dbo.author(id,name,telphone)  
35  select  id,name,telphone  from  inserted  
36  go  
37    
38  --修改同步  
39  create  trigger  tr_update_author  on  author  
40  for  update  
41  as  
42  set  xact_abort  on  
43  update  set  name=i.name,telphone=i.telphone  
44  from  srv2.库名.dbo.author  b,inserted  i  
45  where  b.id=i.id  
46  go  
47    
48  --删除同步  
49  create  trigger  tr_delete_author  on  author  
50  for  delete  
51  as  
52  set  xact_abort  on  
53  delete  b    
54  from  srv2.库名.dbo.author  b,deleted  d  
55  where  b.id=d.id  
56  go
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值