V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
CBBing
V2EX  ›  .NET

两台服务器中的数据库如何实现数据同步?

  •  
  •   CBBing · May 30, 2016 · 9655 views
    This topic created in 3632 days ago, the information mentioned may be changed or developed.

    数据库用的是 SQL SERVER 2014,现在希望在两台数据库之间数据同步,延迟不要太高,如何实现?

    Supplement 1  ·  May 31, 2016
    经过我的搜索和实践,发现发布-订阅模式基本可行,但是现在问题又来了,数据库与数据库之间怎么连接?
    39 replies    2016-06-01 13:49:54 +08:00
    leakeung
        1
    leakeung  
       May 30, 2016   ❤️ 1
    mark+1
    CBBing
        2
    CBBing  
    OP
       May 30, 2016   ❤️ 1
    @leakeung 兄弟有思路吗?
    miaosu
        3
    miaosu  
       May 30, 2016   ❤️ 1
    同问,不过我问的是 Mysql
    CBBing
        4
    CBBing  
    OP
       May 30, 2016   ❤️ 1
    @miaosu 网上 MySQL 的教程比 SQL SERVER 多很多啊
    Bantes
        5
    Bantes  
       May 30, 2016   ❤️ 1
    额,说的是数据库主从同步么?貌似百度好多教程
    CBBing
        6
    CBBing  
    OP
       May 30, 2016   ❤️ 1
    @Bantes 我百度和 google 都搜了,貌似 MySQL 教程特别多, SQL SERVER 的教程就没成功过
    ipconfiger
        7
    ipconfiger  
       May 30, 2016   ❤️ 1
    楼举是想要双向同步还是单向同步呢?
    CBBing
        8
    CBBing  
    OP
       May 30, 2016   ❤️ 1
    @ipconfiger 双向同步
    CBBing
        9
    CBBing  
    OP
       May 30, 2016
    @ipconfiger 实现起来差别大吗?实在不行的话单向同步也可以
    ipconfiger
        10
    ipconfiger  
       May 30, 2016
    @CBBing A 做主库, B 做从库, 写操作都走 A, B 订阅 A 的库, 读都从 B 读
    allen9527
        11
    allen9527  
       May 30, 2016
    Sqlserver
    发布-订阅
    或者多来几台用 Always on
    双向的话,貌似得找中间件了,本身好像不支持
    Mysql 可以考虑 Galera Cluster
    CBBing
        12
    CBBing  
    OP
       May 30, 2016   ❤️ 1
    @ipconfiger 我也是这样想的,发布和订阅支持不同服务器上的数据库之间同步数据吗?
    CBBing
        13
    CBBing  
    OP
       May 30, 2016   ❤️ 1
    @allen9527 中间件的话还是算了
    DesignerSkyline
        14
    DesignerSkyline  
       May 30, 2016 via iPad
    这样,你可以写个脚本,定时备份数据库,再在另一台 VPS 上通过 ssh 隧道连接前者服务器 rsync ,将文件同步过来,再写个脚本定时导入数据库(请测试后再投入正式使用,不敢保证稳定性
    leakeung
        15
    leakeung  
       May 30, 2016
    其实我想说的是. 阿里云服务器的快照功能可以解决..数据不怕丢.
    lancerliu
        16
    lancerliu  
       May 30, 2016
    方案 1.订阅
    方案 2.goldengate
    方案 3.链接服务器,写个脚本
    方案 4.ETL
    CBBing
        17
    CBBing  
    OP
       May 30, 2016
    @lancerliu 嗯,正在配置订阅和发布,话说 SQL Server 配置真是蛋疼
    CBBing
        18
    CBBing  
    OP
       May 30, 2016
    @leakeung 用的腾讯云,不知道有没有这个功能
    CBBing
        19
    CBBing  
    OP
       May 30, 2016
    @DesignerSkyline 刚开始弄数据库,还不知道怎么写脚本
    frankzeng
        20
    frankzeng  
       May 30, 2016
    sql server 真是非常非常蛋疼,可以先备份出来,再把文件同步过去,再还原。
    xenme
        21
    xenme  
       May 30, 2016 via iPhone
    always-on
    gyzit
        22
    gyzit  
       May 30, 2016 via iPhone
    CBBing
        23
    CBBing  
    OP
       May 30, 2016
    @frankzeng 请问你之前有没有这方面的经验,我已经配了一个多星期的环境了,到现在都没有配好
    CBBing
        24
    CBBing  
    OP
       May 30, 2016
    @gyzit 非常感谢,但我用的是 MySQL

    @miaosu 兄弟来看看 MySQL 的教程
    CBBing
        25
    CBBing  
    OP
       May 30, 2016
    @gyzit 不对,脑子乱了,我用的是 SQL Server
    likuku
        26
    likuku  
       May 30, 2016
    @CBBing 既然是用的 SQL Server 这样的成熟商业产品,为何不去咨询 MS 相关技术支持?
    CBBing
        27
    CBBing  
    OP
       May 30, 2016
    @frankzeng 或者有教程可以参考吗? google 的教程一步一步做下来还是不行
    frankzeng
        28
    frankzeng  
       May 30, 2016
    @CBBing 我配置过,用脚本去做的,一天同步一次,好像不符合你这种要求。
    CBBing
        29
    CBBing  
    OP
       May 30, 2016
    @likuku 之前已经对着 MS 的文档看了一遍,貌似只提了一句,并没有教程可以参考
    CBBing
        30
    CBBing  
    OP
       May 30, 2016
    @frankzeng 嗯,确实,我这需要的是尽量实时备份
    likuku
        31
    likuku  
       May 31, 2016
    @CBBing 所以要去找 MS 的专业技术支持(商业 /付费技术支持)
    likuku
        32
    likuku  
       May 31, 2016
    @CBBing 要几乎实时备份,那只有靠中间件了。
    vietor
        33
    vietor  
       May 31, 2016 via Android
    加一个 update_date 字段,那些寻求完美同步方式的人——————都死了。
    xenme
        34
    xenme  
       May 31, 2016 via iPhone
    @likuku 中间件是什么鬼?
    always-on 只是需要 cluster 加共享存储,实时同步都 ok ,双活也 ok 。随便一搜就是一堆教程和视频。
    diyisoft
        35
    diyisoft  
       May 31, 2016
    公司现在用的也是主机、备机,数据库是 2008 R2 ,自己写了个“双机热备”的软件,连接 2 个数据库。哪个运行的时候,就往哪个数据库里写数据库,然后通过“双击热备”软件,把数据同步到另外一个数据库里。现在也在考虑发布-订阅,也再找更好的方法。
    154625424
        36
    154625424  
       May 31, 2016
    我们公司的是 把数据同时写进主机和备机,主机坏了,直接用备机。

    但是以前的数据同步不过来了 我在想办法
    takwai
        37
    takwai  
       May 31, 2016
    SQL Server 订阅就能满足楼主需求了, 10 楼给的方案本身是可行的。用 Google 搜吧,一大堆的。
    http://www.cnblogs.com/tyb1222/archive/2011/05/31/2064944.html
    CBBing
        38
    CBBing  
    OP
       May 31, 2016
    @takwai 这篇教程我已经做过一遍了,卡在了本地订阅那里,在订阅服务器上新建订阅的话,会找不到发布服务器
    likuku
        39
    likuku  
       Jun 1, 2016
    觉得数据还不足够重要到需要付费找官方技术支持的话,自己折腾也是个不错的消磨时间的方法。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2943 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 10:08 · PVG 18:08 · LAX 03:08 · JFK 06:08
    ♥ Do have faith in what you're doing.