本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
RDS SQL Server各個版本提供的能力有所不同,為獲得更優的性能和更強的擴展能力,您可按需將實例升級到更高的版本和系列。例如將實例大版本從SQL Server 2019 標準版升級至2022 標準版,將實例系列從基礎系列升級至高可用系列。
背景信息
基礎系列實例沒有備節點作為熱備份,因此當實例意外宕機或者執行變更配置、版本升級等任務時,會出現較長時間的不可用。
高可用系列實例有一個備實例,主備實例的數據會同步,當主實例出現故障無法訪問時,會自動切換到備用實例。而且高可用系列實例提供完整的產品功能,包括彈性伸縮、備份恢復、性能優化、讀寫分離等。
集群系列實例基于SQL Server源生AlwaysOn技術,實現計算與存儲分離,并且支持創建一個或多個只讀實例實現讀寫分離,通過只讀實例可解決大量的數據庫讀取需求。
不同版本的功能差異,請參見各版本的功能差異。
注意事項
大版本、系列及規格升級后無法回退。升級規則如下:
升級項
升級規則
升級數據庫大版本
標準版 → 企業版
標準版 → 企業集群版
Web版 → 標準版
Web版 → 企業版
Web版 → 企業集群版
說明Web版需要先升級到標準版,再從標準版升級到企業版或企業集群版。
升級數據庫系列
基礎系列 → 高可用系列
基礎系列 → 集群系列
高可用系列 → 集群系列
升級數據庫規格
共享規格 → 通用規格
共享規格 → 獨享規格
通用規格 → 獨享規格
說明高可用共享規格不能直接升級為集群系列獨享規格。
僅支持向同規格或高規格進行升級,高規格升級規則參照上述說明。
不支持共享規格直接升級共享規格。
警告由于升級后無法回退,建議您升級前先創建按量付費或Serverless的目標實例測試兼容性。詳見快速創建并使用RDS SQL Server實例。
對于已經開啟數據歸檔功能的基礎系列通用云盤實例,暫不支持將其升級到其他不同系列的實例。更多詳情,請參見數據歸檔OSS。
在數據庫版本升級期間,請勿對數據庫執行任何元數據修改操作,執行這些操作可能會導致升級后的數據不一致。元數據修改操作包括但不限于添加數據庫、刪除數據庫、修改數據庫的恢復模式等。
限制條件
符合以下情況的實例暫不支持升級數據庫版本:
加入AD域的實例。
Serverless實例。
經典網絡類型的實例。
只讀實例以及掛載了只讀實例的集群版主實例。
開啟了簡單恢復模式的實例。
升級影響
升級操作一旦開始,不能取消,且升級完成后無法回退。
升級前后實例名稱、訪問端口、標簽、數據庫賬號等原有設置均不發生變化。
升級所需時間取決于實例的數據量等,詳情請參見本文常見問題。
實例升級過程中涉及網絡切換等,通常會有20分鐘內的不可服務時間。詳情請參見本文常見問題,請確保應用程序具備自動重連機制。
升級會造成虛擬IP(VIP)的變更,請盡量在您的應用程序中使用連接地址進行連接,不要使用IP地址。
請及時清理客戶端DNS緩存。客戶端采用JVM的應用,建議將JVM配置中的TTL設置為不超過60秒,可確保在連接地址的VIP地址發生變更時,應用程序可以通過重新查詢DNS來接收和使用資源的新VIP地址。
說明下列JVM中設置TTL的方法可供參考:
為所有使用JVM的應用程序設置TTL:將$JAVA_HOME/jre/lib/security/java.security文件中的networkaddress.cache.ttl參數值設置為60。
僅為本地應用程序設置TTL:在首次調用
InetAddress.getByName()
前,即建立任何網絡連接之前,在應用程序的初始化代碼中設置networkaddress.cache.ttl java.security.Security.setProperty("networkaddress.cache.ttl" , "60");
。
如果有正在執行的DTS任務,升級后,需要重新配置并啟動相應的DTS任務。
費用說明
升級版本的費用,請參見變更配置。
操作步驟
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
在基本信息頁面的配置信息區域,單擊升級版本,在彈出的對話框中單擊確認。
說明如果未找到該入口,請確認實例是否符合升級的要求。更多詳情,請參見限制條件。
在升級引擎版本頁面修改配置,重點配置項說明如下,其他配置項說明請參見操作步驟。
說明部分實例升級時,在版本和系列選擇上可能存在限制。具體詳情,請參見本文注意事項和限制條件。
參數名稱
說明
升級到版本
選擇不同的目標版本,對應的產品系列、實例規格選項也會變化,具體請參見升級規則。
產品系列
選擇目標系列。
基礎系列:單節點,計算與存儲分離。
高可用系列:一主一備的經典高可用架構,各方面表現均衡。
集群系列:一主多備的高可用架構,備實例可訪問。
說明關于RDS實例的系列詳情,請參見產品系列概述。
實例規格
每種規格都有對應的CPU核數、內存、最大連接數和最大IOPS。詳情請參見主實例規格列表。
切換時間
數據遷移結束后立即切換:立刻進行遷移并切換。
可維護時間內進行切換:立刻進行遷移并在可維護時間段內進行切換。
勾選服務條款,單擊去支付。
在彈出的對話框中,單擊確認。
此時原實例運行狀態變更為
,當實例的運行狀態變更為運行中即代表升級完成。具體時間取決于數據量,請耐心等待。
常見問題
大版本升級期間不支持變更實例,必須在大版本升級完成后,才可以進行其他操作。
暫不支持自動升級數據庫大版本。
預估時間
通常情況下,升級實例大版本所需的預估時間范圍如下。需注意,以下備份和恢復速度均基于未壓縮的數據大小。
由于Web版本的實例不支持備份壓縮,因此備份效率會有所影響,備份與恢復速度可能降至100 GB/小時以下。
操作 | 是否必須 | 預計消耗時間 | 注意事項 |
創建與配置新實例 | 必須 | 10~15分鐘 | 所需時間根據升級時所選擇的產品系列和規格而定。 |
對實例進行全量備份 | 非必須 | 200 GB/小時 |
|
在目標實例恢復全量備份 | 必須 | 200 GB/小時 | 無 |
在源實例進行增量事務日志備份 | 必須 | 200 GB/小時 | 進行增量日志備份前后,可能存在2分鐘的額外損耗(例如備份準備、收尾、資源分配等)。 |
在目標實例應用增量事務日志備份 | 必須 | 200 GB/小時 | 應用增量日志備份前后,可能存在2分鐘的額外損耗(例如備份一致性驗證等)。 |
將數據庫恢復上線 | 必須 | 正常2分鐘內 |
|
網絡切換等待、網絡連接遷移 | 必須 | 10分鐘 | 無 |
預估示例
測試實例:實例規格為4核8 GB,數據量大小為600 GB。
創建與配置新實例:預計耗時12分鐘。
全量備份(非必須):預計耗時3小時。(600 GB / 200 GB每小時)
恢復全量備份至目標實例:預計耗時3小時。(600 GB / 200 GB每小時)
在源實例進行增量事務日志備份:預計耗時5分鐘。(10 GB / 200 GB每小時)+ 2分鐘額外損耗 = 5分鐘
在目標實例應用增量事務日志備份:預計耗時5分鐘。(10 GB / 200 GB每小時)+ 2分鐘額外損耗 = 5分鐘
將數據庫恢復上線:預計耗時2分鐘內。
網絡切換與遷移:預計耗時10分鐘。
綜上,在此示例中,若實例36小時內未進行過全量備份,總耗時預計為6小時34分鐘左右,否則需要3小時34分鐘左右。
升級建議
維護窗口規劃:建議在系統負載較低的時段進行升級操作,以最小化對業務的影響。
長事務問題:升級過程中應避免執行長時間運行的事務操作,例如創建或重建索引、數據歸檔等,以免延長數據庫恢復上線步驟的時間。
場景示例:用戶本人位于迪拜地域,用戶RDS SQL Server實例設置的時區為印度時間(實例所在地域為新加坡)。在這種復雜的跨時區情況下,如何設置實例升級時的切換時間,以避免業務中斷。
示例目標:用戶計劃在印度時間的2024年5月11日02:00進行RDS實例的升級切換。
解決方法:將RDS SQL Server實例印度時區時間,轉換為迪拜地域的瀏覽器時間即可(此場景下無需考慮RDS實例所在地域)。即在本示例中,若用戶計劃在RDS實例的印度時間2024年5月11日02:00進行升級切換,那么用戶應在自己所在的迪拜時間(瀏覽器顯示時間),即2024年5月11日00:30,登錄到RDS控制臺設置實例升級切換時間。
具體轉化方法:
將印度時間(2024年5月11日02:00)轉換為UTC時間:印度時間比UTC時間早5小時30分鐘,因此轉換后UTC時間為2024年5月10日20:30。
將UTC時間(2024年5月10日20:30)轉換為迪拜時間:UTC時間比迪拜時間晚4小時,因此轉換后迪拜時間為2024年5月11日00:30。
相關API
您也可以通過API升級數據庫大版本,請參見ModifyDBInstanceSpec - 變更RDS實例。