备节点只读

最近更新时间:2025-02-27 17:33:03

我的收藏
云数据库 SQL Server 2017/2019/2022 Enterprise always on 双节点云盘架构,以及云数据库 SQL Server 2017/2019/2022 Enterprise 多节点云盘架构的实例支持备节点只读功能。开启备节点只读,可通过备节点专属的只读地址来访问备节点,分担主节点的读取请求,能有效的为您节省只读实例的开销,进而节省成本。您可通过控制台开启、关闭备节点只读功能,并可修改备节点只读地址的网络。

前提条件

主实例架构及版本为:云数据库 SQL Server 2017/2019/2022 Enterprise always on 双节点,或者云数据库 SQL Server 2017/2019/2022 Enterprise 多节点。
主实例存储类型为:增强型 SSD 云硬盘/通用型 SSD 云硬盘。
主实例状态为运行中。
说明:
在实例列表可以查看到以上信息是否满足。

主备实例必须同步正常。
注意:
若实例为新建实例,需等到 AG 组建立,主节点和备节点同步状态正常后,才可开启备节点只读功能。

功能限制

备节点只读开启,会受到单实例所承载的数据库数量限制影响,超过限制数量时该功能将不支持开启,具体数量限制请参见 单实例可创建数据库数量
备节点只读开启,会受到主备实例数据同步的影响,当主备实例数据不同步时,备节点只读无法开启。
对于双节点实例而言,备节点只读为独立的实例状态,备节点只读开启后,仅能通过备节点专属的唯一只读地址访问备节点,与 RO 实例无关,与 RO 实例所在的 RO 组也无关,故备节点不能加入 RO 组参与权重设置。
对于多节点实例而言,备节点只读开启时,默认多个备节点共用一个备节点只读地址,您可通过对每个备节点设置权重来分配读流量。也支持为不同备节点提供不同的备节点只读地址,通过每个备节点只读地址实现分流,如需使用此能力,请先 提交工单 申请。
备节点只读开启后,仅支持通过内网地址访问,备节点不支持开启外网。
备节点只读开启后,备节点宕机或延迟超时将不会被剔除,此时通过只读地址访问备节点,可能会存在数据延迟,节点恢复后,数据同步将恢复正常。
备节点只读开启后,实例进行跨可用区迁移切换时,备节点只读会出现闪断,请确保业务具备重连机制。
备节点只读开启后,实例进行迁移变配切换时,备节点只读会出现闪断,请确保业务具备重连机制。
备节点只读开启后,实例进行 HA 切换时,备节点只读会出现闪断或者长时间中断,请确保业务具备重连机制。

备节点只读架构图



开启备节点只读

双节点实例和多节点实例关于开启备节点只读的完整操作略有不同,您可参考如下分页的步骤对应操作。
说明:
多节点实例开启备节点只读,只读模式的设置有两种场景:多备一读、一备一读,默认为多备一读,如果需设置为一备一读,需 提交工单 申请,以下是两种场景的功能说明。
场景一(多备一读):表示开启备节点只读后,所有备节点共用一个只读地址,您可通过此只读地址访问实例下的所有备节点。
场景二(一备一读):表示开启备节点只读,每一个备节点分别被分配一个不同的只读地址,您可通过不同的只读地址来访问实例下不同的备节点。
双节点
多节点 - 多备一读
多节点 - 一备一读
1. 登录 SQL Server 控制台,在实例列表,单击实例 ID操作列的管理,进入实例详情页。
2. 在实例详情页右侧的实例信息内,单击备节点后的开启备节点只读,或者在拓扑图中备节点只读地址区域单击“+”。

3. 在弹出的备节点只读开启页面下,完成如下配置,单击确定

参数
说明
选择网络
选择 VPC 网络。默认 VPC、子网与主节点所在的读写地址一致,也可自定义选择,确定 VPC 后仅对应 VPC 网络的主机可访问数据库。
只读地址
自动分配 IP:由系统自动分配 IP 地址。
指定 IP:您可自定义子网 IP 地址。
说明:
主节点开启了备节点只读功能,当备节点发生切换后,只读地址将绑定新的备节点。
4. 待实例状态恢复为运行中时,完成备节点只读的开启。
1. 登录 SQL Server 控制台,在实例列表,单击实例 ID操作列的管理,进入实例详情页。
2. 在实例详情页右侧的实例信息内,单击备节点后的开启备节点只读,或者在拓扑图中备节点只读地址区域单击“+”。

3. 在弹出的备节点只读开启页面下,完成如下配置,单击确定

参数
说明
只读模式
选择多备一读。
选择网络
选择 VPC 网络。默认 VPC、子网与主节点所在的读写地址一致,也可自定义选择,确定 VPC 后仅对应 VPC 网络的主机可访问数据库。
只读地址
自动分配 IP:由系统自动分配 IP 地址。
指定 IP:您可自定义子网 IP 地址。
4. 待实例状态恢复为运行中时,完成备节点只读的开启。
5. 在实例详情页右侧的实例信息内,找到各个备节点信息,分别在权重后单击修改
6. 在弹窗下进行读权重配置(权重配置范围:0 - 100),支持选择系统自动分配和自定义,完成配置后单击确定

1. 登录 SQL Server 控制台,在实例列表,单击实例 ID操作列的管理,进入实例详情页。
2. 在实例详情页右侧的实例信息内,单击备节点后的开启备节点只读,或者在拓扑图中备节点只读地址区域单击“+”。

3. 在弹出的备节点只读开启页面下,完成如下配置,单击确定

参数
说明
只读模式
选择一备一读。
选择网络
选择 VPC 网络。默认 VPC、子网与主节点所在的读写地址一致,也可自定义选择,确定 VPC 后仅对应 VPC 网络的主机可访问数据库。
只读地址
自动分配 IP:默认由系统自动分配 IP 地址。
4. 待实例状态恢复为运行中时,完成备节点只读的开启。

更改备节点只读网络

开启备节点只读功能后,如需修改备节点只读地址的网络,请参见 更改网络

关闭备节点只读

说明:
备节点只读关闭后,将关闭所有备节点只读地址,您将无法通过只读地址来访问备节点,且该 IP 地址将会被释放,若您需要关闭备节点只读,请确认您的应用系统没有使用只读地址进行连接访问,以免给您带来不必要的损失。
1. 登录 SQL Server 控制台,在实例列表,单击实例 ID操作列的管理,进入实例详情页。
2. 在实例详情页右侧的实例信息内,单击备节点后的关闭备节点只读

3. 在弹窗下,单击确定


常见问题

开启备节点只读功能后,若主节点故障或者备节点故障,应用系统访问备节点只读地址会有什么影响?

开启备节点只读功能后,若主节点发生故障触发了主备切换,为了防止原备节点流量突增而瘫痪,会在原主节点恢复之前,不提供通过只读地址的访问,则对应应用系统暂时不能访问备节点数据,直到原主节点恢复并切换成为新备节点后,才能恢复对备节点的只读访问;
开启备节点只读功能后,若备节点发生故障,则备节点暂时不提供服务,应用系统无法通过备节点只读地址访问实例,待备节点恢复后,才能提供访问。

相关 API

API
描述
接口(ModifyDReadable)用于开通或者关闭备机只读。
接口(ModifyDBInstanceNetwork)用于修改运行中实例的网络。
接口(DescribeDBInstancesAttribute)用于查询实例附属属性。