一、前提条件
·主实例架构及版本为:云数据库 SQL Server 2017/2019/2022/2025 Enterprise always on 双节点,或者云数据库 SQL Server 2017/2019/2022/2025 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)用于查询实例附属属性。 |