首页 > 数据库 >sqlserver 分布式可用性组(一)—— 概要

sqlserver 分布式可用性组(一)—— 概要

时间:2023-04-18 13:36:16浏览次数:53  
标签:副本 AG 可用性 sqlserver Server 版本 分布式


一、 分布式可用性组简介

分布式可用性组(Distributed Availability Group)是 SQL Server 2016 中的新功能,它可跨两个单独的可用性组。

两个可用性组无需处于同一位置:它们可以跨物理机、虚拟机;跨内网、云上;跨有域、无域;甚至跨平台(如Linux、Windows)。只要两个可用性组可以进行通信,就可以使用它们配置分布式可用性组。

sqlserver 分布式可用性组(一)—— 概要_Server

 

1. 主要用途

  • 灾难恢复和更轻松的多站点配置
  • 更复杂的数据库迁移场景:跨云、跨域、跨操作系统
  • 通过跨多个可用性组,将单个可用性组中的可读副本增加到8个以上

 

2. 特性简介

  • 也有同步和异步提交模式。
  • 元数据都保存在SQL Server 中,不会在WSFC中显示相关内容,甚至SMSS中都不会显示DAG的数据库,只能通过sql查询信息(参考下一篇)。
  • 尽管基础可用性组也具有主副本,但只有主可用性组的主副本可写。如下图,AG 1为主可用性组,其主副本将事务发送到 AG 1 的从副本和 AG 2的主副本,AG 2的主副本只能从AG 1的主副本接收事务,并发送到自己的从副本进行应用。

sqlserver 分布式可用性组(一)—— 概要_主副本_02

  • 使用分布式可用性组搭建事务复制时,从AG主副本(即AG 2的主副本)无法配置为发布服务器。
  • 分布式可用性组仅支持强制故障转移(使用FORCE_FAILOVER_ALLOW_DATA_LOSS选项)
  • 当前分布式可用性组限定只能连接两个AG,但通过搭建多个分布式可用性组(可以级联、可以一带多),原理上可以无限扩展。下图3个可用性组中至多可以具有27个副本,这些副本可用于只读查询。

sqlserver 分布式可用性组(一)—— 概要_sql_03

sqlserver 分布式可用性组(一)—— 概要_主副本_04

 

二、用前须知

 

1. SQL Server版本要求

  • 2017或更高版本中的分布式可用性组中可以混合不同主版本的SQL Server,从AG版本可以高于主AG版本(跟传统AG一样)。此方案面向升级和迁移,例如主AG是2016,希望升级/迁移到2017或更高版本。
  • 2012及2014版本中不存在分布式可用性组功能,不能加入分布式可用性组。
  • 仅企业版支持,Standard Edition 不能配置分布式可用性组。

 

2. windows版本要求

分布式可用性组仅对SQL Server版本有要求,各可用性组的Windows Server版本可以不同。

sqlserver 分布式可用性组(一)—— 概要_Server_05

单个WSFC及其相应的可用性组遵循传统规则。它们可以加入域,也可以不加入(Windows 2016及以上)。

在单个分布式可用性组中的两个不同可用性组存在以下四种情况:

  • 两个 WSFC 加入同一域
  • 每个 WSFC 加入不同域
  • 一个 WSFC 加入域,一个不加入域
  • 两个 WSFC 都不加入域

如果加入同一域,创建分布式可用性组时无需任何特殊操作。如果未加入同一域,需通过证书启用分布式可用性组,方法类似启用域独立可用性组。 

 

3. 分布式可用性组的基础AG要求

  • 分布式可用性组没有listener。客户端连接时只能连到基础可用性组的listener或服务器名,因此在failover后应用需要修改连接串(网络层有另外配置除外)
  • 每个基础可用性组必须都有listener。创建分布式可用性组时,通过ENDPOINT_URL 参数为其指定已配置的listener,而不是像传统可用性组指定服务器名。
  • Endpoint listeners 需要监听所有服务器IP地址。在创建endpoints 时必须指定LISTENER_IP = ALL参数,否则主从AG间会无法同步。

 

4. 补丁安装方法

因为存在两个单独的可用性组,因此安装SP或CU的过程与传统可用性组略有不同:

  • 先给从AG副本打补丁
  • 再给主AG中的辅助副本打补丁
  • 将主AG故障转移到它自己的辅助副本,然后给它安装补丁。如果主AG没有辅助副本,则需要手动故障转移到从AG。

 

5. 其他

DAG不是分布式可用性组的官方缩写,而是微软Exchange Database Availability Group特性(该特性跟分布式可用性组没啥关系)的缩写,但确实也有人这么用。

 

参考

https://docs.microsoft.com/zh-cn/sql/database-engine/availability-groups/windows/distributed-availability-groups?view=sql-server-ver15

https://www.mssqltips.com/sqlservertip/5053/setup-and-implement-sql-server-2016-always-on-distributed-availability-groups/

https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/configure-distributed-availability-groups?view=sql-server-2016


 

 

 

标签:副本,AG,可用性,sqlserver,Server,版本,分布式
From: https://blog.51cto.com/u_13631369/6203178

相关文章

  • sqlserver 移动用户及系统数据库文件位置方法
    查了下文档即使到2019版本,sqlserver移动数据库文件位置依然是要停机的,注意待移动文件大小,估计好停机时间。 sqlserver 移动数据库文件位置分为两大类:用户数据库系统数据库系统数据库又可分为再分为:除master及resource以外的系统数据库(model,msdb,tempdb)master数据库resource数据库......
  • SqlServer 从执行计划缓存发现问题sql
    注意以下sql都较复杂,在数据库中执行时间可能较长,不要执行过于频繁。一、隐式转换sql版本1--找到含有隐式转换且会导致indexseek变为indexscan的语句–findalltheplansandquerywhicharebeingcomparedwithwrongdatatypeinqueriesandthuscasuingtheconversio......
  • 查询sqlserver列名,行数及表说明
    查询sqlserver表名,行数及表说明SELECTD.NAMETABLE_NAME,B.ROWSTABLE_ROWS,F.VALUETABLE_COMMENTFROMSYSOBJECTSDLEFTJOINSYS.EXTENDED_PROPERTIESFOND.ID=F.MAJOR_IDANDF.MINOR_ID=0LEFTJOINSYSINDEXESBOND.ID=B.IDANDB......
  • sqlserver 如何查看备份还原进度及历史备份信息
    有时需要给业务方备份还原数据库,如果库比较大,可能时不时会被问“怎么样啦?”,“还剩多少哇?”,如果看不到监控备份还原的进度就很悲催,答不上来...SQLServer主要有三种方法备份还原进度:利用SSMS备份还原,查看进度条(还原的不准)利用SQL的stats关键字指定每完成百分之几显示利用动态性能视......
  • 如何利用sqlserver重置Administrator用户密码
    原文是sqlserver2005的,测试windows2016+sqlserver2017时此功能已经不可用,不过还是记录下重置方法。原理是通过sqlserver的OLE选项创建一个用户并将其添加至Administrator组,随后便可用该用户登录服务器修改administrator用户密码。OLE相当于给你一个cmd环境,让你可以输入cmd命令......
  • sqlserver 数据库状态转换图
    今天发现一个很好的图,非常清晰的展示了sqlserver的各种状态及切换原因/方法。简单介绍一下各种状态:ONLINE(在线):数据库正常运行。只有数据库成功恢复后会进入这个状态,也只有这种状态数据库是正常可用的。RESTORING(正在还原):正在执行数据库还原。如果还原时使用NORECOVERY模式,数据库会......
  • redis分布式锁使用
    1.引入pom依赖 2.代码实现 3,加上断点,测试执行中 加锁成功 执行结束,释放锁 ......
  • Seata分布式事务
    Seata目录旁边可以查询具体的目录结构和跳转一.分布式事务 1.原子性(atomicity):个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。  2.一致性(consistency):事务必须是使数据库从一个一致性状态变到另一个一致性状态,事务的中间状态不能被观察到的。  ......
  • 含分布式电源的三相潮流计算,程序采用前推回代法开展潮流计算
    含分布式电源的三相潮流计算,程序采用前推回代法开展潮流计算,考虑了三相不平衡的情况,通过求解,得到了三相的电压分布和相角分布,同时,还与单相的结果开展对比YID:4450652403033247......
  • 浙江省人民医院:以浪潮信息全闪、分布式存储打造医院核心业务数据底座​
    随着信息技术在医疗行业的广泛应用,医院不仅可以通过CT、核磁共振、彩超等多种医学影像检查手段辅助获取更多、更精准的检查数据用于临床诊疗,提升了医疗水平,也将信息化技术应用到医院业务管理形成了数据互联共享的一站式的就诊服务。浙江省人民医院意识到了医疗数据在医院创新发展中......