全部產品
Search
文件中心

ApsaraDB RDS:建立SQL Server唯讀執行個體

更新時間:Apr 29, 2025

當您面臨資料庫讀取壓力大幅增加時,可以通過建立一個或多個唯讀執行個體來擴充讀取能力,提高應用的整體輸送量。RDS SQL Server基於源生AlwaysOn技術,通過物理複製方式複製主執行個體產生唯讀執行個體,唯讀執行個體資料與主執行個體保持一致,並且主執行個體的資料更新也會自動同步到所有隻讀執行個體中。

說明

前提條件

SQL Server唯讀執行個體需要在主執行個體中建立,且主執行個體必須滿足以下條件:

  • 執行個體版本:2017 企業叢集版、2019 企業叢集版、2022 企業叢集版

  • 執行個體系列:叢集系列

  • 執行個體儲存類型:ESSD雲端硬碟、高效能雲端硬碟

  • 計費方式:訂用帳戶或隨用隨付(不支援Serverless執行個體

說明
  • 建立SQL Server唯讀執行個體前,請在基本資料頁面確認主執行個體版本或系列等。如果還沒有主執行個體,請先根據以上要求建立主執行個體

  • 如果主執行個體為基礎系列或高可用系列,且需要建立唯讀執行個體時,您可選擇將原執行個體升級為企業叢集系列後再建立唯讀執行個體。

注意事項

  • 只能在主執行個體內建立唯讀執行個體,不支援將已有主執行個體切換為唯讀執行個體。

  • 由於建立唯讀執行個體實際上是從備執行個體複製資料,因此不會影響主執行個體。

  • 唯讀執行個體數量:一個主執行個體下最多可建立7個唯讀執行個體。

  • 執行個體備份:因主執行個體已有備份,唯讀執行個體暫不支援備份設定以及手動發起備份;不支援通過備份檔案或任意時間點建立臨時執行個體;不支援通過備份組覆蓋執行個體;建立唯讀執行個體後,主執行個體將不支援通過備份組直接覆蓋執行個體來恢複資料。

  • 資料移轉:不支援將資料移轉至唯讀執行個體。

  • 資料庫管理:不支援建立和刪除資料庫。

  • 帳號管理:不支援建立和刪除帳號,不支援為帳號授權以及修改帳號密碼功能。

  • 執行個體建立時間:建立唯讀執行個體所需的時間與主執行個體的資料量和IO效能成正相關。因此,在建立唯讀執行個體前,建議對主執行個體的資料量和IO效能進行評估和最佳化,以減少建立時間。

  • 儲存空間:唯讀執行個體儲存空間不能低於主執行個體。

費用說明

建立唯讀執行個體會產生費用,支援訂用帳戶和隨用隨付兩種方式計費。更多詳情,請參見唯讀執行個體價格

說明

執行個體為Serverless計費方式時,不支援建立唯讀執行個體。

建立唯讀執行個體

您可以通過RDS控制台或API(CreateReadOnlyDBInstance)建立唯讀執行個體。

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 執行個體分布地區的只讀實例右側單擊添加

    image.png

  3. 配置基礎資源,包含計費方式、儲存類型、可用性區域等,單擊下一步:執行個體配置

    1. 選擇計費方式

      計費方式

      建議

      優點

      訂用帳戶

      長期使用RDS執行個體,請選擇訂用帳戶(一次性付費),並在頁面左下角選擇購買時間長度

      訂用帳戶比隨用隨付更實惠,且購買時間長度越長,折扣越多。

      隨用隨付

      短期使用RDS執行個體,請選擇隨用隨付(按小時付費)。

      您可以先建立隨用隨付執行個體,確認執行個體符合要求後轉訂用帳戶

      可隨時釋放執行個體,停止計費。

    2. 選擇資料庫儲存類型

      支援的儲存類型詳情,請參見儲存類型

    3. 選擇執行個體所在的可用性區域

      說明
      • 可用性區域是地區中的一個獨立物理地區,同一地區不同可用性區域沒有實質性區別。

      • ECS訪問同可用性區域RDS的效能比訪問同地區其它可用性區域RDS更好,但差別較小。

    4. 選擇執行個體規格

      選擇分類(獨享或通用)和具體規格(CPU核心數、記憶體、最大串連數等)。

      分類

      說明

      特點

      通用規格

      獨享:記憶體和I/O

      共用:CPU和儲存

      價格低,性價比高。

      獨享規格

      獨享:CPU、記憶體、儲存和I/O

      說明

      獨佔型是獨享型的頂配,獨佔整台伺服器的CPU、記憶體、儲存和I/O。

      效能更好更穩定。

      說明
    5. 選擇儲存空間

      儲存空間包括資料空間、系統檔案空間、記錄檔空間和事務檔案空間。儲存空間範圍(最小值和最大值)與前面選擇的執行個體規格和儲存類型有關。您可以調整儲存空間,最少增減5 GB。

      說明
  4. 配置執行個體資源,包含網路類型、交換器、資源群組等,單擊下一步:確認訂單

    1. 網路類型固定配置為專用網路

    2. 選擇VPC和主節點交換器

      建議選擇與ECS執行個體相同的VPC。ECS執行個體與RDS執行個體位於不同VPC時,無法內網互連。

      說明

      VPC相同,交換器不同,ECS執行個體與RDS執行個體也可以內網互連。

    3. 設定更多自訂參數。如無特殊需求,可保留預設值

      參數

      說明

      實例釋放保護

      計費方式隨用隨付時,您可以為執行個體開啟執行個體釋放保護,防止執行個體被意外釋放。

      资源组

      選擇預設或自訂的資源群組,方便執行個體管理。

      執行個體描述

      自訂,長度為2~255個字元,以大小字母或中文開頭,可包含數字,底線(_)或短劃線(-)。

      系統字元集定序

      預設為主執行個體的系統字元集定序。

  5. 確認參數配置購買量購買時間長度(僅訂用帳戶執行個體),勾選服務合約,單擊去支付,並完成支付。

    說明
    • 對於訂用帳戶執行個體,建議選中到期自動續約,避免因忘記續約而導致業務中斷。

    • 執行個體建立需要約1~10分鐘。請重新整理頁面查看。

查看唯讀執行個體

您可以在執行個體列表頁面、目標執行個體的叢集管理頁面、目標執行個體的基本資料頁面查看唯讀執行個體具體資訊。

執行個體列表頁面查看

  1. 登入RDS管理主控台,在左側單擊實例列表,然後在上方選擇地區。

  2. 在執行個體列表中找到唯讀執行個體,單擊該唯讀執行個體的ID。

基本資料頁面查看

您可以在主執行個體的基本資料頁面查看唯讀執行個體。

  1. 登入RDS管理主控台,在左側單擊實例列表,然後在上方選擇地區。

  2. 在執行個體列表中找到主執行個體,單擊該主執行個體的ID。

  3. 在主執行個體的基本資料頁面,把滑鼠移至上方於唯讀執行個體的數量上,單擊唯讀執行個體的ID。

叢集管理頁面查看

前提條件

已在叢集管理頁面開通讀寫分離

操作步驟

  1. 登入RDS管理主控台

  2. 在執行個體列表中找到主執行個體,單擊該主執行個體的ID。

  3. 在左側導覽列中,單擊叢集管理

  4. 找到唯讀執行個體,單擊該唯讀執行個體的ID。

下一步

唯讀執行個體建立完成後,需要開通讀寫分離串連並配置唯讀地址的權重比,系統將根據已配置的權重比例處理讀請求。

常見問題

唯讀執行個體的計費方式可以轉化嗎?

可以。具體操作,請參見隨用隨付轉訂用帳戶訂用帳戶轉隨用隨付

變更唯讀執行個體的配置、釋放唯讀執行個體、轉化唯讀執行個體計費方式會影響主執行個體嗎?

不會。

主執行個體上建立的帳號在唯讀執行個體上可以用嗎?

主執行個體建立的帳號會同步到唯讀執行個體,唯讀執行個體無法管理帳號。帳號在唯讀執行個體上只能進行讀操作,不能進行寫操作。

如果主執行個體出現故障,是否支援把唯讀執行個體轉變為常規執行個體?

不支援。

唯讀執行個體上的資料支援手動備份或自動備份嗎?

由於備份在主執行個體中進行,唯讀執行個體暫不支援備份設定以及手動發起備份。

唯讀執行個體是否支援並行複製?

支援,RDS SQL Server預設為並行複製。

交易記錄的清除機制是怎樣的?

RDS SQL Server交易記錄分為兩個階段:

  • 日誌截斷:通常每次的記錄備份會自動做日誌截斷。但如果出現長事務、同步等待或核心相關問題時,截斷會無法生效。

  • 日誌收縮:每日的常規備份包括日誌收縮,您也可以通過控制台進行日誌收縮

如何理解唯讀執行個體的複製原理?若主執行個體和唯讀執行個體間出現複寫延遲,一般出現原因以及解決方案是什嗎?如何查看複寫延遲?

建立唯讀執行個體時會從備執行個體複製資料,資料與主執行個體一致,主執行個體的資料更新也會自動同步到所有隻讀執行個體。

通常出現複寫延遲原因如下:

  • 原因:主執行個體規格大,唯讀執行個體規格過小,導致主備延遲過大。唯讀執行個體規格過小,大主庫拖小隻讀,導致主備延遲過大。

    解決方案:升級唯讀執行個體規格

  • 原因:存在並發的大事務導致延遲。

    解決方案:檢查處理存在的大事務,一般存在大事務原因可能包括鎖問題、慢SQL問題以及臨時查詢未提交問題等。

  • 原因:核心Bug導致的複製異常。

    解決方案:建議升級執行個體大版本核心小版本解決。

您可通過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

建立RDS SQL Server企業叢集版執行個體時沒找到唯讀節點的選項?

唯讀執行個體需要在主執行個體中單獨添加,請先建立符合以下條件的主執行個體,然後再參見本文操作步驟,在主執行個體中添加唯讀執行個體。

  • 主執行個體版本:2017企業叢集版、2019企業叢集版、2022企業叢集版

  • 主執行個體系列:叢集系列

  • 主執行個體儲存類型:ESSD雲端硬碟、高效能雲端硬碟

  • 主執行個體計費方式:訂用帳戶或隨用隨付(不支援Serverless執行個體