ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL SERVER 中常见的高可用方案

2022-08-07 23:33:12  阅读:245  来源: 互联网

标签:同步 Log 可用 standby 数据库 SERVER Replication SQL YES


数据库环境:SQL SERVER 2005 +

1、Replication,我们常用的是Transactional Replication。可以支持单向和双向的数据同步。工作在Table Level。由于基于transaction,(内部使用了类似Snapshot链出改变页的方法),他的同步单位较小,在实践中,往往只需要几分钟的时间就可以得到最新的数据。缺点,虽然允许Replication  Schema Change,但是对于真正的DDL修改的时候有时需要手动的进行修改。容易出现数据同步问题,而且复杂的查询可能导致Replication的性能并导致数据同步问题

2、Log Shipping。基于Backup/Restore。换而言之,它实际是自动的log backup传输到远程,然后恢复的。正如Restore备份数据库的时候数据库会处于单用户状态,在restore的时候,所有的当前用户链接会被断开,当然可以配置等待所有操作完成。没有数据不同步的问题。

3、Databaes Mirroring。只是在考MSITS的时候涉及过这个技术,没有实际用过。同步的数据库处于不可用状态,但是可以通过snapshot进行访问。snapshot的数目不被限制,但是不得不选择不同的名字。这对于数据库查询比较麻烦。没有数据不同步的问题。

Replication 最大的优点在于数据同步的迅速,用户不会感觉到变化,用户查询不会被数据的更新影响。
Logshipping 的优点则在于简单易用,容错性高。但用户被经常打断。

Databaes Mirroring  数据库镜像对可用性的提高程度远远大于先前使用 Microsoft SQL Server 对可用性的提高,并为故障转移群集或日志传送提供了易于管理的替代或补充。同步数据库镜像会话时,数据库镜像提供了热备用服务器,可支持在已提交事务不丢 失数据的情况下进行快速故障转移。在一般的镜像会话期间,如果生产服务器出现故障,客户端应用程序可以通过重新连接到备用服务器来快速进行恢复。
下面借一个图来说明各个特点:

 

  复制(Replication) 日志传送(Log Shipping) 镜像(Mirroring) 故障转移集群(Failover Clustering)
标准版/企业版 YES YES 标准版仅支持同步模式 标准版仅2节点
节点数 1:N 1:N 1:1 取决于操作系统节点数上限
粒度 数据库 数据库 实例
恢复模式 Full/Simple Full/Bulk_logged Full ALL
是否监视主库故障 NO
    监视器只监视同步状态,
    不监视publication server failure
NO
    monitor server只监视backup/retore status
    不监视primary server failure
Witness,可监视主库故障 YES
是否自动故障转移 NO(warm standby) NO(warm standby) YES(hot standby),
    如果没有witness则不能自动,为warm standby
YES
延迟 取决于Log Reader Agent & Distribution Agent 取决于Log backup/restore频率 同步/异步模式 只有一份数据
同步方式 从distributor分发,可推送,可读取 通过数据库备份文件的copy/restore Log stream 只有一份数据
从库是否可以访问 subscription可读写,
    但默认写不会被回传到Publication
可设置secondary server为standby模式,只读 mirrored db可通过snapshot只读 只有一份数据
应用场景 读写分离 读写分离,温备 读写分离,温备/热备 服务器/操作系统/应用软件的备份

 

 

转载自:https://www.cnblogs.com/zerocc/archive/2013/05/27/3101568.html

标签:同步,Log,可用,standby,数据库,SERVER,Replication,SQL,YES
来源: https://www.cnblogs.com/guohu/p/16560221.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有