• 通过MS SQL SERVER实现公司间数据同步


    通过MS SQL SERVER实现公司间数据同步

         1. 因业务需要,需要针对不同企业的DB数据库服务器数据同步,即指定的几个数据字段保持数据一致。

         2. 同步就是保持两个表数据一致过程,但在整体业务设计时要遵循分布式CAP定理( CAP theorem: 一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance))。

         3.要整体步骤清晰,尽量不要几步并一步进行操作,因为同步数据一般都是在不同的地域,不同的服务器,服务器所属不同企业,权限一般都限制的很死,步骤不清晰出问题很难排错,并因此在不同企业间踢皮球,扯皮。

         4.相关过程示意图如下(以Microsoft SQL Server为例,本次提供思路不提供代码,有空再把代码补全):

       

           在本地服务器DB Server1上建立需要的数据View即视图(即整理要用的数据);

    在本地服务器DB Server1上建立远程服务器DBserver2上的连接(服务器对象-->链接服务器

     

     

    数据源就是远程服务器DB Server2新建链接服务器-->在 常规 里面设置远程服务器地址-->在 安全性 里面设置远程DB链接用户和密码

      

      

     

    在本地服务器DB Server1上建立需要同步的数据表

    CREATE TABLE [dbo].[Table1](
         [ItemID] [int] NOT NULL,
         [ItemName] [varchar](100) NULL
    ) ON [PRIMARY]

    在远程服务器DB Server2上建立需要同步的数据表(因为是数据同步,所以Table2与上面的Table1结构相同。最好相同,否则逻辑上容易乱)

    CREATE TABLE [dbo].[Table2](
          [ItemID] [int] NOT NULL,
          [ItemName] [varchar](100) NULL

    ) ON [PRIMARY]

    在SQL Server代理商建立作业,并设置定期执行

     

    新建作业,在常规设置作业名称,所有者,其他默认。

           在作业的步骤里面,新建作业步骤

    点击 作业步骤 的 新建 按钮,进入 新建作业步骤 窗口,填入步骤名称,选择数据库,粘贴同步执行SQL代码到  命令(M)空白窗口。

    (同步过程代码:从view中到DB Server1的表中,再同DB Server1到DB Server2的表中,执行的SQL代码调试好再粘贴到命令的空白处。)

      在作业属性点击计划,进入 作业计划属性。设置此处的作用是定期同步执行同步SQL代码,具体时间间隔根据业务进行设置。

     

           查看作业历史记录,有如下执行日志,证明同步的过程成功,不同企业数据同步顺利完成。

      

     

    (结束)

     

     

     

  • 相关阅读:
    静态构造函数(C# 编程指南)
    SQL SERVER2008 存储过程、表、视图、函数的权限
    EF架构~为EF DbContext生成的实体添加注释 【转】
    WebBrowser 多线程问题,寻求解答!(已经搞清楚!) 【转】
    EF架构~将数据库注释添加导入到模型实体类中 【转】
    window.name web开发iframe 跨域间的值传输问题
    javascript 验证 国际格式 电话号码
    认识HTML5的WebSocket
    Jquery 滚屏
    哎 为了自己的生活能过的去 从今天起开始写技术博客 请大家多多指教
  • 原文地址:https://www.cnblogs.com/gucun-blog/p/14356862.html
Copyright © 2020-2023  润新知