如何在 RDS for SQL Server 中升級或降級 SQL Server 引擎版本?
我想要升級或降級 Amazon Relational Database Service (Amazon RDS) for Microsoft SQL Server 中的 SQL Server 引擎版本。
簡短說明
Amazon RDS for SQL Server 支援快捷版、Web 版、標準版和企業版。您無法使用 Amazon RDS 主控台或 AWS Command Line Interface (AWS CLI) 將 SQL Server 版本變更視為就地修改執行。
解決方法
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
升級 SQL Server 引擎版本
建立現有 RDS for SQL Server 執行個體的 RDS 快照,然後從快照還原新的 RDS 執行個體。有關升級限制的資訊,請參閱 Microsoft SQL Server 注意事項。
請完成下列步驟:
- 建立原始 RDS for SQL Server 執行個體的快照。
- 還原快照以建立新的 RDS 執行個體。當您還原執行個體時,請選取資料庫的較新版本。
- 重新命名或刪除原始的 RDS for SQL Server 執行個體,以便您可以重複使用 DNS 端點名稱。如需詳細資訊,請參閱本文的重新命名 RDS 執行個體一節。
若要從標準版升級到企業版,請參閱將 Amazon RDS for SQL Server 執行個體從標準版修改為企業版。
您可以對下列類型的升級使用相同的快照和還原方法:
- 標準版到企業版
- Web 版到標準版或企業版
- 快捷版到 Web 版、標準版或企業版
**注意:**升級版本時,快照還原會建立新的 RDS for SQL Server 執行個體。新的執行個體具有與快照來源執行個體不同的 RDS 端點。
降級 SQL Server 版本
不支援 RDS for SQL Server 執行個體從較新版本降級到較早版本。但是,您可以完成下列任一類型的降級:
- 企業版到標準版、Web 版或快捷版
- 標準版到 Web 版或快捷版
- Web 版到快捷版
若要降級您的 RDS for SQL Server 版本,請使用原生備份和還原選項、AWS Database Migration Service (AWS DMS) 或其他工具。根據停機時間、工作量和您使用案例的複雜性,選擇一個降級選項。
RDS for SQL Server 中的原生備份和還原選項
原生備份和還原會在現有來源 RDS for SQL Server 執行個體上建立資料庫的完整備份。
若要從來源企業版執行個體降級至目標標準版執行個體,請完成下列步驟:
- 使用標準版建立新的 RDS for SQL Server 資料庫執行個體。
- 在來源企業版和目標標準版執行個體上新增原生備份和還原選項。
- 將來源企業版執行個體上的每個使用者資料庫備份到 Amazon Simple Storage Service (Amazon S3) 儲存貯體。
- 在來源企業版執行個體上的每個資料庫上執行 sys.dm_dm_persisted_sku-features 查詢:
**注意:**將 database-name 替換為您資料庫的名稱。USE database-name GO SELECT feature_name FROM sys.dm_db_persisted_sku_features; GO
上一個查詢會檢查目前是否有任何功能連接到較新的版本。當您將資料庫還原到舊版目標執行個體時,連線到較新版本的功能可能無法運作。如需詳細資訊,請參閱 Microsoft 網站上的 sys.dm_db_persisted_sku_features (Transact-SQL)。 - 從 Amazon S3 儲存貯體將備份還原到目標標準版執行個體。
- 在目標標準版執行個體資料庫上建立必要的登入和使用者。此外,請建立適當的安全群組並附加適當的參數選項群組。
**注意:**您可以使用上述步驟在不同版本的 SQL Server on RDS 之間匯出和匯入資料庫。
AWS DMS
AWS DMS 會將後續的變更從較新版本的執行個體複製到較早版本的執行個體。AWS DMS 允許單向複寫和大量載入表格,並擷取支援的資料變更。
如需詳細資訊,請參閱下列 AWS 文件:
- 使用 Microsoft SQL Server 資料庫作為 AWS DMS 的來源
- 使用 Microsoft SQL Server 資料庫作為 AWS Database Migration Service 的目標
- 使用 SQL Server 作為 AWS DMS 來源的限制
- 使用 AWS DMS 將您的 SQL Server 資料庫遷移到 Amazon RDS for SQL Server
其他用於匯入和匯出 SQL Server 資料的工具
您也可以使用下列工具匯入和匯出資料庫:
- SQL Server 匯入和匯出精靈
- 產生和發佈指令碼精靈
- 大量複製 (bcp 公用程式)
**注意:**在使用上述的任何工具之前,您必須先啟動較早版本的 SQL Server 執行個體。
當您使用這些工具移動資料時,可能會出現多個必須解決的資料一致性或完整性問題。在使用其中一個工具之前,請在測試環境中徹底測試該程序。
對於SQL Server 匯入與匯出精靈」,建立來源執行個體資料庫和物件的結構描述,並將其複製到目標執行個體。然後,使用精靈將表格、檢視或查詢從一個 RDS for SQL Server 資料庫執行個體複製到另一個資料存放區。
對於 SQL Server 產生和發佈指令碼精靈和 bcp 公用程式,請使用精靈來建立整個資料庫或所選物件的指令碼。您可以在目標 SQL Server 資料庫執行個體上執行指令碼,以重新建立指令碼化物件。然後,使用大量複製功能將所選物件的資料匯出到目標資料庫執行個體。從具有與來源和目標 RDS 執行個體連線的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體執行 bcp 公用程式。
重新命名 RDS 執行個體
前面的所有選項都會導致建立新的目標 RDS 執行個體。新的 RDS 執行個體與現有的來源 RDS 執行個體有不同的 RDS DNS 端點。
有時候,當您跨應用程式和服務更新新的 RDS 端點時,元件中可能會漏掉連線字串更新,導致錯誤。
為了防止此問題,最佳做法是重新命名來源和目標 RDS 執行個體。重新命名執行個體時,目標版本執行個體具有與原始來源版本執行個體相同的 RDS DNS 端點。因此,在變更版本後,您不需要變更相依應用程式或服務的連接字串。
若要在變更版本後重新命名來源和目標 RDS 執行個體,請完成下列步驟:
注意:在下列範例程序中,來源 RDS 執行個體是企業版的rds-original,而目標執行個體是標準版的 rds-new。
- 停止來源執行個體 rds-original 的所有傳入流量。
- 升級或降級 RDS 執行個體上的 SQL Server 版本。
**注意:**升級或降級後,來源執行個體為 rds-original,目標執行個體為 rds-new。 - 修改來源執行個體,將資料庫執行個體從 rds-original 重新命名為不同的名稱,例如 rds-original-old。
- 在 rds-original-old 執行個體處於可用狀態之後,將目標資料庫執行個體從 rds-new 重新命名為來源執行個體的原始名稱 rds-original。
- 確認執行個體已重新命名為 rds-original-old,且 rds-original 處於可用狀態。
- 將新目標 RDS 執行個體安全群組保持與來源執行個體相同,以維持現有應用程式的網路連線。
- 允許傳入流量到具有所需 SQL Server 版本的 rds-original 執行個體。您不需要變更應用程式連線字串,因為 RDS 具有與來源執行個體相同的 DNS 端點。
- 執行應用程式測試,以確保 RDS 執行個體版本變更不會造成任何錯誤。
- 如果沒有錯誤,請建立 rds-original-old 執行個體的最終快照,然後刪除執行個體以降低成本。
**注意:**在您在生產環境中實作變更之前,最佳做法是在測試環境中測試活動。
相關資訊
相關內容
- 已提問 2 年前
