zoukankan      html  css  js  c++  java
  • 同步两个数据库

    /*  
      作者:邹建  
      */  
      
      /*--同步两个数据库的示例  
      
      有数据  
      srv1.库名..author有字段:id,name,phone,  
      srv2.库名..author有字段:id,name,telphone,adress  
      
      要求:  
      srv1.库名..author增加记录则srv1.库名..author记录增加  
      srv1.库名..author的phone字段更新,则srv1.库名..author对应字段telphone更新  
      --*/  
      
      --大致的处理步骤  
      --1.在  srv1  上创建连接服务器,以便在  srv1  中操作  srv2,实现同步  
      exec  sp_addlinkedserver    'srv2','','SQLOLEDB','srv2的sql实例名或ip'  
      exec  sp_addlinkedsrvlogin  'srv2','false',null,'用户名','密码'  
      go  
      
      --2.在  srv1  和  srv2  这两台电脑中,启动  msdtc(分布式事务处理服务),并且设置为自动启动  我的电脑--控制面板--管理工具--服务--右键  Distributed  Transaction  Coordinator--属性--启动--并将启动类型设置为自动启动  
      go  
      
      
      --3.实现同步处理  
      
      --a.在srv1..author中创建触发器,实现数据即时同步  
      --新增同步  
      create  trigger  tr_insert_author  on  author  
      for  insert  
      as  
      set  xact_abort  on  
      insert  srv2.库名.dbo.author(id,name,telphone)  
      select  id,name,telphone  from  inserted  
      go  
      
      --修改同步  
      create  trigger  tr_update_author  on  author  
      for  update  
      as  
      set  xact_abort  on  
      update  b  set  name=i.name,telphone=i.telphone  
      from  srv2.库名.dbo.author  b,inserted  i  
      where  b.id=i.id  
      go  
      
      --删除同步  
      create  trigger  tr_delete_author  on  author  
      for  delete  
      as  
      set  xact_abort  on  
      delete  b    
      from  srv2.库名.dbo.author  b,deleted  d  
      where  b.id=d.id  
      go  
    
  • 相关阅读:
    Perforce笔记
    Lumia 800 无法正常开机
    Windows service 中出现Set ServiceLogin 对话框
    华为要求七千员工先辞职再竞岗 补偿费超10亿
    BLOG新址:http://longware.spaces.live.com
    家装(2)
    解脱
    论持久战
    有感于软件项目测试
    THE POEM AS A GIFT FOR MY GF'S BIRTHDAY
  • 原文地址:https://www.cnblogs.com/zengxiangzhan/p/1603267.html
Copyright © 2011-2022 走看看