SQL Server提供管理只读实例功能,并且提供一个只读地址,您可以在应用程序中配置主实例地址和只读地址,实现写请求转发到主实例,读请求转发到只读地址,只读地址会根据权重将读请求自动转发给各个只读实例。

前提条件

  • 实例是主实例(不是只读实例或灾备实例)。
  • 实例为SQL Server 2017企业版或2019企业版。
  • 实例下有至少一个只读实例。关于如何创建只读实例,请参见创建SQL Server只读实例

注意事项

  • 第一次开通只读地址时,为保证服务的正常使用,系统会自动将开通该功能的主实例及其所关联的所有只读实例都升级到后端管控系统的最新版本。主实例会有1次30秒内的闪断,而只读实例在整个重启过程中都无法访问。建议在业务低峰期开通只读地址,并确保您的应用有自动重连机制,以避免闪断影响。
  • 若您在2017年3月8日后,对要开通只读地址的主实例和只读实例都自行做过至少1次的重启或者规格变更操作,则这些实例的后端管控系统已经自动升级到最新版本,开通只读地址时,系统不会再对实例进行重启,也不会产生闪断。
  • 开通只读地址生成的只读地址是固定的,不会因为多次关闭/开启只读地址而变化,不用多次更改应用程序,降低维护成本。
    说明 只读地址暂不支持手动修改。
  • 开通及使用只读地址是免费的,当前仅收取只读实例的费用。
  • 只读地址暂不支持经典网络。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中单击集群管理
  3. 单击右侧立即开启
  4. 填写设置信息,如下图所示。
    参数 说明
    地址类型 只读地址的类型。
    • 内网地址:因为SQL Server 2017企业版和2019企业版只支持专有网络,因此内网地址的类型也是专有网络,只读地址只能用于专有网络内。
    • 外网地址:用于从外网对实例进行访问,由于外网网络易波动,建议在业务中使用内网地址进行连接。
    读权重分配 实例的读权重越高,处理的读请求越多。例如,假设主实例有3个只读实例,读权重分别为100、200和200,则表示3个只读实例按照1:2:2的比例处理读请求。
    • 系统分配:系统根据实例规格自动分配各个实例的读权重。后续该主实例下新增的只读实例也会自动设置权重,无需手动设置。更多信息请参见系统权重分配规则
    • 自定义:手动设置各个实例的读权重,范围为0至10000。后续该主实例下新增只读实例的读权重默认为0,需要您手动修改。
  5. 单击确定

后续操作

  • 您可以修改应用程序,配置主实例地址和只读地址,实现写请求转发到主实例,读请求转发到只读地址,只读地址会根据权重将读请求自动转发给各个只读实例。
  • 您可以查看只读实例的ID、运行状态、读权重等信息,并可以单击管理跳转到只读实例页面进行管理。