當您面臨數據庫讀取壓力大幅增加時,可以通過創建一個或多個只讀實例來擴展讀取能力,提高應用的整體吞吐量。RDS SQL Server基于源生AlwaysOn技術,通過物理復制方式復制主實例生成只讀實例,只讀實例數據與主實例保持一致,并且主實例的數據更新也會自動同步到所有只讀實例中。
只讀實例的特性、限制、使用場景等,請參見SQL Server只讀實例簡介。
RDS SQL Server當前對于滿足條件的主實例支持只讀實例快速初始化能力,該能力將有效縮短只讀實例的創建時間至分鐘級別,且該過程對主實例I/O無任何影響。具體詳情,請參見只讀實例快速初始化能力簡介。
前提條件
您已創建SQL Server主實例,且主實例滿足以下條件:
實例版本:2017 企業集群版、2019 企業集群版、2022 企業集群版
實例系列:集群系列
實例存儲類型:ESSD云盤、通用云盤
計費方式:包年包月或按量付費,Serverless實例不支持創建只讀實例。
創建SQL Server只讀實例前,請在基本信息頁面確認主實例版本或系列等。
如果主實例為基礎系列或高可用系列,且需要創建只讀實例時,您可選擇將原實例升級為企業集群系列后再創建只讀實例。具體操作,請參見升級數據庫版本。
注意事項
只能在主實例內創建只讀實例,不支持將已有主實例切換為只讀實例。
由于創建只讀實例實際上是從備實例復制數據,因此不會影響主實例。
只讀實例數量:一個主實例下最多可創建7個只讀實例。
實例備份:因主實例已有備份,只讀實例暫不支持備份設置以及手動發起備份;不支持通過備份文件或任意時間點創建臨時實例;不支持通過備份集覆蓋實例;創建只讀實例后,主實例將不支持通過備份集直接覆蓋實例來恢復數據。
數據遷移:不支持將數據遷移至只讀實例。
數據庫管理:不支持創建和刪除數據庫。
賬號管理:不支持創建和刪除賬號,不支持為賬號授權以及修改賬號密碼功能。
實例創建時間:創建只讀實例所需的時間與主實例的數據量和IO性能成正相關。因此,在創建只讀實例前,建議對主實例的數據量和IO性能進行評估和優化,以減少創建時間。
存儲空間:只讀實例存儲空間不能低于主實例。只讀實例存儲空間范圍詳情,請參見RDS SQL Server只讀實例規格列表。
費用說明
創建只讀實例會產生費用,支持包年包月和按量付費兩種方式計費。更多詳情,請參見只讀實例價格。
實例為Serverless計費方式時,不支持創建只讀實例。
創建只讀實例
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
在實例分布區域的只讀實例右側單擊添加。
配置基礎資源,包含計費方式、存儲類型、可用區等,單擊下一步:實例配置。
選擇計費方式。
計費方式
建議
優點
包年包月
長期使用RDS實例,請選擇包年包月(一次性付費),并在頁面左下角選擇購買時長。
包年包月比按量付費更實惠,且購買時長越長,折扣越多。
按量付費
短期使用RDS實例,請選擇按量付費(按小時付費)。
您可以先創建按量付費實例,確認實例符合要求后轉包年包月。
可隨時釋放實例,停止計費。
選擇數據庫存儲類型。
支持的存儲類型詳情,請參見存儲類型。
選擇實例所在的可用區。
說明可用區是地域中的一個獨立物理區域,同一地域不同可用區沒有實質性區別。
ECS訪問同可用區RDS的性能比訪問同地域其它可用區RDS更好,但差別較小。
選擇實例規格。
選擇分類(獨享或通用)和具體規格(CPU核數、內存、最大連接數等)。
分類
說明
特點
通用規格
獨享:內存和I/O
共享:CPU和存儲
價格低,性價比高。
獨享規格
獨享:CPU、內存、存儲和I/O
說明獨占型是獨享型的頂配,獨占整臺服務器的CPU、內存、存儲和I/O。
性能更好更穩定。
說明每種規格都有對應的CPU核數、內存、最大連接數和最大IOPS。詳情請參見RDS SQL Server只讀實例規格列表。
為保證數據同步有足夠的I/O性能支撐,建議只讀實例的規格(內存)不小于主實例。
選擇存儲空間。
存儲空間包括數據空間、系統文件空間、日志文件空間和事務文件空間。存儲空間范圍(最小值和最大值)與前面選擇的實例規格和存儲類型有關。您可以調整存儲空間,最少增減5 GB。
說明只讀實例存儲空間不能低于主實例。
部分本地SSD盤的存儲空間大小與實例規格綁定,ESSD云盤或SSD云盤不受此限制。詳情請參見主實例規格列表。
配置實例資源,包含網絡類型、交換機、資源組等,單擊下一步:確認訂單。
網絡類型固定配置為專有網絡。
選擇VPC和主節點交換機。
建議選擇與ECS實例相同的VPC。ECS實例與RDS實例位于不同VPC時,無法內網互通。
說明VPC相同,交換機不同,ECS實例與RDS實例也可以內網互通。
設置更多自定義參數。如無特殊需求,可保留默認值。
參數
說明
實例釋放保護
計費方式為按量付費時,您可以為實例開啟實例釋放保護,防止實例被意外釋放。更多信息,請參見開啟和關閉實例釋放保護。
資源組
選擇默認或自定義的資源組,方便實例管理。
實例描述
自定義,長度為2~255個字符,以大小字母或中文開頭,可包含數字,下劃線(_)或短劃線(-)。
系統字符集排序規則
默認為主實例的系統字符集排序規則。
標簽
您可以為實例綁定標簽,對實例進行分類管理。
確認參數配置、購買量和購買時長(僅包年包月實例),勾選服務協議,單擊去支付,并完成支付。
說明對于包年包月實例,建議選中到期自動續費,避免因忘記續費而導致業務中斷。
實例創建需要約1~10分鐘。請刷新頁面查看。
查看只讀實例
您可以在實例列表頁面、目標實例的集群管理頁面、目標實例的基本信息頁面查看只讀實例具體信息。
實例列表頁面查看
登錄RDS管理控制臺,在左側單擊實例列表,然后在上方選擇地域。
在實例列表中找到只讀實例,單擊該只讀實例的ID。
基本信息頁面查看
您可以在主實例的基本信息頁面查看只讀實例。
登錄RDS管理控制臺,在左側單擊實例列表,然后在上方選擇地域。
在實例列表中找到主實例,單擊該主實例的ID。
在主實例的基本信息頁面,把鼠標懸停于只讀實例的數量上,單擊只讀實例的ID。
集群管理頁面查看
前提條件
已在集群管理頁面開通讀寫分離。
操作步驟
登錄RDS管理控制臺。
在實例列表中找到主實例,單擊該主實例的ID。
在左側導航欄中,單擊集群管理。
找到只讀實例,單擊該只讀實例的ID。
相關操作
您也可以通過API創建只讀實例,詳情請參見CreateReadOnlyDBInstance - 創建只讀實例。
只讀實例創建完成后,需要開通讀寫分離連接并配置只讀地址的權重比,系統將根據已配置的權重比例處理讀請求,詳情請參見開通讀寫分離(只讀地址)。
常見問題
不會。
主實例創建的賬號會同步到只讀實例,只讀實例無法管理賬號。賬號在只讀實例上只能進行讀操作,不能進行寫操作。
不支持。
由于備份在主實例中進行,只讀實例暫不支持備份設置以及手動發起備份。
支持,RDS SQL Server默認為并行復制。
RDS SQL Server事務日志分為兩個階段:
日志截斷:通常每次的日志備份會自動做日志截斷。但如果出現長事務、同步等待或內核相關問題時,截斷會無法生效。
日志收縮:每日的常規備份包括日志收縮,您也可以通過控制臺進行日志收縮。具體操作,請參見收縮事務日志。
創建只讀實例時會從備實例復制數據,數據與主實例一致,主實例的數據更新也會自動同步到所有只讀實例。
通常出現復制延遲原因如下:
您可通過SQL Server 自治服務進行診斷查看或通過如下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