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  
    
  • 相关阅读:
    vue router
    spring web 不定参数
    spring boot添加自定义配置文件
    IntelliJ IDEA查看方法的返回类型
    连接MySql报错->The server time zone value 'XXXXX' is unrecognized...............
    spring boot新建工程中使用mysql,com.mysql.jdbc.Driver标红
    iOS 并发编程之 Operation Queues
    数据安全基础知识总结
    登录令牌 Token 介绍
    常见加密算法
  • 原文地址:https://www.cnblogs.com/zengxiangzhan/p/1603267.html
Copyright © 2011-2022 走看看