您可以通过创建只读实例满足大量的数据库读取需求,增加应用的吞吐量。RDS SQL Server基于源生AlwaysOn技术,通过物理复制方式复制主实例生成只读实例,数据与主实例一致,主实例的数据更新也会自动同步到所有只读实例。
关于只读实例的更多介绍,请参见SQL Server只读实例简介。
前提条件
您已创建SQL Server主实例,且主实例满足以下条件:
- 实例版本:2017、2019企业集群版
- 实例系列:集群版
- 实例存储类型:ESSD云盘
说明 创建SQL Server只读实例前,请在基本信息页面确认主实例版本或系列等。如果主实例为基础版或高可用版,且需要创建只读实例时,您可选择将原实例升级为企业集群版后再创建只读实例。具体操作,请参见升级实例版本。
注意事项
- 只能在主实例内创建只读实例,不能将已有实例切换为只读实例。
- 由于创建只读实例时是从备实例复制数据,因此不会影响主实例。
- 最多创建7个只读实例。
- 因主实例已有备份,只读实例暂不支持备份设置以及手动发起备份。
- 不支持通过备份文件或任意时间点创建临时实例,不支持通过备份集覆盖实例。
- 创建只读实例后,主实例将不支持通过备份集直接覆盖实例来恢复数据。
- 不支持将数据迁移至只读实例。
- 不支持创建和删除数据库。
- 不支持创建和删除账号,不支持为账号授权以及修改账号密码功能。
- 只读实例创建时间与主实例数据量以及主实例IO性能正相关。
- 只读实例存储空间不能低于主实例。只读实例存储空间范围详情,请参见RDS SQL Server只读实例规格列表。
费用说明
创建只读实例会产生费用,支持包年包月和按量付费两种方式计费。具体费用请参见详细价格信息。
创建只读实例
- 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
- 在实例分布区域的只读实例右侧单击添加。
- 设置以下参数,单击下一步:实例配置。
类别 说明 存储类型 - SSD云盘:基于分布式存储架构的弹性块存储设备。将数据存储于SSD云盘,即实现了计算与存储分离。
- ESSD云盘:增强型(Enhanced)SSD云盘,是阿里云全新推出的超高性能云盘产品。ESSD云盘基于新一代分布式块存储架构,结合25GE网络和RDMA技术,为您提供单盘高达100万的随机读写能力和更低的单路时延。ESSD云盘分为如下三类:
- ESSD PL1云盘:PL1性能级别的ESSD云盘。
- ESSD PL2云盘:相比PL1,PL2性能级别的ESSD云盘大约可提升2倍IOPS和吞吐量。
- ESSD PL3云盘:相比PL1,PL3性能级别的ESSD云盘最高可提升20倍IOPS、11倍吞吐量,适合对极限并发I/O性能要求极高、读写时延极稳定的业务场景。
更多信息,请参见存储类型。
可用区 可用区是地域中的一个独立物理区域。
实例规格 - 通用规格(入门级):通用型的实例规格,独享被分配的内存和I/O资源,与同一服务器上的其他通用型实例共享CPU和存储资源。
- 独享规格(企业级):独享或独占型的实例规格。独享型指独享被分配的CPU、内存、存储和I/O资源。独占型是独享型的顶配,独占整台服务器的CPU、内存、存储和I/O资源。
说明- 每种规格都有对应的CPU核数、内存、最大连接数和最大IOPS。详情请参见主实例规格列表。
- 为保证数据同步有足够的I/O性能支撑,建议只读实例的规格(内存)不小于主实例。
存储空间 存储空间包括数据空间、系统文件空间、Binlog文件空间和事务文件空间。调整存储空间时最小单位为5GB。 说明- 只读实例存储空间不能低于主实例。
- 本地SSD盘的独享套餐等规格由于资源独享的原因,存储空间大小和实例规格绑定。详情请参见主实例规格列表。
- 设置以下参数。
类别 说明 网络类型 - 经典网络:传统的网络类型。
- 专有网络:也称为VPC(Virtual Private Cloud)。VPC是一种隔离的网络环境,安全性和性能均高于传统的经典网络。选择专有网络时您需要选择对应的VPC和主节点交换机。
说明 与主实例网络类型一致,如果是专有网络,请确保只读实例的VPC与主实例的VPC一致。资源组 选择默认或自定义的资源组,方便实例管理。
- 单击下一步:确认订单,确认参数配置,选择购买量,勾选服务协议,单击去支付完成支付。
几分钟后,该只读实例即创建成功。
查看只读实例
在集群管理页面查看只读实例
前提条件
操作步骤
- 登录RDS管理控制台
- 在实例列表中找到主实例,单击该主实例的ID。
- 在左侧导航栏中,单击集群管理。
- 找到只读实例,单击该只读实例的ID。
相关API
API | 描述 |
---|---|
创建只读实例 | 创建RDS只读实例 |
常见问题
- Q:只读实例的计费方式可以转化吗?
- Q:变更只读实例的配置、释放只读实例、转化只读实例计费方式会影响主实例吗?
A:不会。
- Q:主实例上创建的账号在只读实例上可以用吗?
A:主实例创建的账号会同步到只读实例,只读实例无法管理账号。账号在只读实例上只能进行读操作,不能进行写操作。
- Q:如果主实例出现故障,是否支持把只读实例转变为常规实例?
A:不支持。
- Q:只读实例上的数据支持手动备份或自动备份吗?
A:由于备份在主实例中进行,只读实例暂不支持备份设置以及手动发起备份。
- Q:只读实例是否支持并行复制?
A:支持,RDS SQL Server默认为并行复制。
- Q:事务日志的清除机制是怎样的?A:RDS SQL Server事务日志分为两个阶段:
- 日志截断:通常每次的日志备份会自动做日志截断。但如果出现长事务、同步等待或内核相关问题时,截断会无法生效。
- 日志收缩:每日的常规备份包括日志收缩,您也可以通过控制台进行日志收缩,具体操作,请参见收缩事务日志。
- Q:如何理解只读实例的复制原理?若出现复制延迟,一般出现原因以及解决方法是什么?如何查看复制延迟?
A:创建只读实例时会从备实例复制数据,数据与主实例一致,主实例的数据更新也会自动同步到所有只读实例。
通常出现复制延迟原因如下:您可通过SQL Server CloudDBA进行诊断查看或通过如下SQL查看:SELECT ag.name AS [availability_group_name] , d.name AS [database_name] , ar.replica_server_name AS [replica_instance_name] , drs.truncation_lsn , drs.log_send_queue_size , drs.redo_queue_size FROM sys.availability_groups ag INNER JOIN sys.availability_replicas ar ON ar.group_id = ag.group_id INNER JOIN sys.dm_hadr_database_replica_states drs ON drs.replica_id = ar.replica_id INNER JOIN sys.databases d ON d.database_id = drs.database_id WHERE drs.is_local=0 ORDER BY ag.name ASC, d.name ASC, drs.truncation_lsn ASC, ar.replica_server_name ASC