本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
遷移 SQL Server
在雲端的旅程中,您有多個選項可將 SQL Server 環境遷移至其中 AWS。成功的遷移係以產生 SQL Server 工作負載與其相依性的詳細目錄、識別驗證結構描述、掌握高可用性和災難復原 (HADR) 需求、評估效能目標及評估授權選項為基礎。此詳細目錄可協助您決定目標資料庫平台,並定義遷移選項。
在將 SQL Server 工作負載遷移到 時,您可以考慮許多選項 AWS,每個選項都產生最佳化的價格/效能、更直覺的使用者體驗,以及較低的 TCO。您可以選擇在下列項目上部署 SQL 伺服器:Amazon EC2、Amazon RDS for SQL Server 或 Amazon RDS Custom for SQL Server
評估
若要實作成功的遷移,請務必評估現有的基礎設施,並了解您環境所需的主要功能。建議您在選擇遷移計畫之前,檢閱下列主要區域:
-
檢閱現有的基礎設施 – 使用遷移探索階段所收集的資料來檢閱現有的 SQL Server 基礎設施。您可以使用 AWS Migration Evaluator
自動收集伺服器組態、SQL Server 部署、資源使用率和應用程式相依性的詳細資訊。對於以 VMware 為基礎的環境, AWS Transform 探索工具提供無代理程式的現場部署探索,而不需要雲端連線。其輸出會直接饋送至 TCO 分析和業務案例產生 AWS Transform 評估。我們建議您使用 Microsoft 針對 SQL Server 基礎設施指定的大小 AWS。了解現場部署 SQL Server 執行個體目前的使用率,包括記憶體、CPU、IOPS 和輸送量,對於正確調整 SQL Server 執行個體的大小非常重要 AWS。 -
檢閱現有的授權 – 您可以利用互補AWS 的最佳化和授權評估 (AWS OLA)
,在 上建置遷移和授權策略 AWS。 AWS OLA 為您提供報告,以使用現有的授權權利建立部署選項的模型。這些結果可協助您探索跨彈性 AWS 授權選項的可用成本節省。如果您已在 上執行 SQL Server 工作負載 AWS, AWS Compute Optimizer會提供自動授權建議,包括根據實際功能用量來識別降級 SQL Server 版本的機會。 -
檢閱現有的 SQL Server 架構 – 如果您使用具有共用儲存或 SQL Server Always On 可用性群組架構的 SQL Server 容錯移轉叢集,則了解您目前的高可用性架構需求可協助您定義 SQL Server 部署選項 AWS。
SQL Server Always On 可用性群組同時支援同步和非同步遞交模式,而且您可以使用它們在單一 AWS 區域 (跨可用區域) 內取得高可用性,或跨區域進行災難復原。SQL Server Always On 容錯移轉叢集執行個體 (FCIs) 需要共用儲存體,可透過使用 Amazon FSx for Windows File Server 或 Amazon FSx for NetApp ONTAP 提供。如需高可用性和災難復原選項的完整比較,請參閱 AWS 方案指引中的選擇高可用性和災難復原解決方案。
-
開發備份策略 – 對於 Amazon RDS for SQL Server,您可以使用自動備份搭配point-in-time復原、手動快照,以及原生備份和還原。對於 Amazon EC2 上的 SQL Server,您可以使用原生 SQL Server 備份和還原、使用快照方法,或將資料庫備份至 Amazon EBS、Amazon FSx for Windows File Server、Amazon FSx for NetApp ONTAP 或 Amazon S3。您可以使用 AWS Backup 在 Amazon EC2 上跨 Amazon RDS for SQL Server 和 SQL Server 協調和集中備份。
Amazon EC2 上的 SQL Server 2022 搭配 Amazon FSx for NetApp ONTAP 支援 T-SQL 快照備份
,可提供近乎即時、一致的備份,且對主要主機的影響最小。SQL Server 2025 透過在 Always On 可用性群組中啟用次要複本的原生資料庫備份,進一步擴展這一點。如需詳細資訊,請參閱 上 Microsoft SQL Server 2025 的新功能 AWS (AWS 部落格文章)。 如需備份策略的詳細資訊,請參閱 Amazon RDS for SQL Server 的備份和還原策略
(AWS 部落格文章) 和 Amazon EC2 上 SQL Server 的備份和還原選項 (AWS 方案指引)。 -
了解災難復原 (DR) 需求 – 對於 Amazon RDS for SQL Server,跨區域自動備份和僅供讀取複本提供受管 DR 選項,而不需要 SQL Server 層級的複寫組態。
對於 Amazon EC2 上的 SQL Server,您可以使用透過 AWS Transit Gateway或 AWS 區域 連接的次要伺服器AWS Direct Connect,以允許進行複寫。DR 選項包括用於多區域部署的 SQL Server 分散式可用性群組、在幾分鐘內使用 RTO 和 RPO 進行經濟實惠選項的日誌運送,以及做為主動/被動 DR 實作AWS 彈性災難復原的連續區塊層級複寫。如需詳細資訊,請參閱 AWS Prescriptive Guidance 中的選擇高可用性和災難復原解決方案,以及 AWS Database Blog 上的架構 SQL Server 的災難復原 AWS:第 1 部分
。
調動
我們建議您為 SQL Server 工作負載考慮 SQL Server 資料庫遷移策略:
-
重新託管 (提升和轉移) – 這涉及將現場部署 SQL Server 資料庫遷移至 Amazon EC2 執行個體上的 SQL Server AWS 雲端。如果更快速的遷移至 AWS 是您的優先順序,此方法非常有用。您可以使用自攜授權 (BYOL) 模型來攜帶現有的 SQL Server 授權,也可以從中購買包含授權的 (LI) 執行個體 AWS。您也可以使用 AWS Launch Wizard for SQL Server 來引導您在 Amazon EC2 上完成 SQL Server 的大小、組態和部署。它同時支援單一執行個體和高可用性部署。
-
轉換 (提升和重塑) – 這涉及將現場部署 SQL Server 資料庫遷移到 上的受管資料庫服務 AWS。這種方法會卸載未區分的任務,例如安裝、組態、修補、升級和高可用性設定。選擇兩個受管選項:
-
Amazon RDS for SQL Server
– 這是全受管選項,最適合您想要卸載所有資料庫基礎設施管理。 -
Amazon RDS Custom for SQL Server — 這是具有保留作業系統和資料庫層級存取權的受管服務。此選項非常適合具有自訂部署需求的舊版或封裝應用程式。Amazon RDS Custom 支援自帶媒體 (BYOM) 選項,可讓您使用現有的 SQL Server 授權,以符合 Microsoft 的授權行動性條款。
如需 Amazon EC2、Amazon RDS 和 Amazon RDS Custom 上 SQL Server 的功能比較,請參閱在 Amazon EC2 和 Amazon RDS on 方案指引之間進行選擇。 AWS
-
-
重構 (重新架構) – 這通常涉及使用開放原始碼資料庫或為雲端建置的資料庫進行應用程式變更和現代化。透過離開 SQL Server,您可以降低授權成本,並避免廠商鎖定和授權稽核。您可以將 SQL Server 資料庫現代化為:
-
Amazon RDS for MySQL 或 Amazon RDS for PostgreSQL – 全受管開放原始碼資料庫產品。
-
Amazon Aurora – 具有完整 MySQL 和 PostgreSQL 相容性的雲端原生關聯式資料庫,只需一小部分成本即可提供商業級資料庫的效能和可用性。
-
Babelfish for Aurora PostgreSQL – 允許最初為 SQL Server 編寫的應用程式使用 Aurora PostgreSQL,且程式碼變更最少,加速遷移並降低重構風險。
若要轉換 SQL Server 結構描述和程式碼,您可以使用AWS DMS 結構描述轉換,這是一種全受管結構描述轉換功能 AWS Database Migration Service (AWS DMS)。
-
遷移
當您將 SQL Server 工作負載遷移至 時 AWS,下列各節說明每個遷移策略的可用工具和方法。
主機轉換
重新託管是一種同質遷移方法。當您想要正常遷移 SQL Server 資料庫而不變更資料庫軟體或組態時,請選擇此選項。這是大規模舊版遷移的常見選擇,其中速度是優先順序。
使用 Amazon EC2 遷移 SQL Server
如果您遷移至 Amazon EC2,您可以使用 BYOL 模型取得現有的 SQL Server 授權,或從中購買 LI 執行個體 AWS。 在 Amazon EC2 上部署 SQL Server 時, AWS License Manager可協助您控制可用授權的配置,並協助您遵守授權規則。
對於 BYOL 方法,只有在您擁有 Microsoft 軟體保證 (SA) 時,才能將 SQL Server 重新託管為共用租用 (預設)
您可以使用 SQL Server 功能 或 將 SQL Server 資料庫遷移至 Amazon EC2 執行個體 AWS 服務。如果您要將單一資料庫或一組資料庫遷移至 Amazon EC2 上的新 SQL Server 執行個體,則這些選項是適當的。除了資料庫遷移之外,您可能還需要遷移登入、任務、資料庫郵件和連結伺服器等物件。
下列方法可用於在 上重新託管 SQL Server 資料庫 AWS:
您也可以使用 AWS Launch Wizard for SQL Server 來引導您在 Amazon EC2 上完成 Microsoft SQL Server 的大小、組態和部署,這同時支援單一執行個體和高可用性部署。
使用 遷移 SQL Server AWS Application Migration Service
AWS Application Migration Service
Linux 中的 SQL Server
SQL Server 資料庫引擎在 Windows Server 和 Linux 上執行的方式類似。不過,使用 Linux 時,某些任務有一些變更。 AWS Launch Wizard可協助您調整這些變更,並設定高可用性的解決方案。如果您具備內部 Linux 管理專業知識,則主機轉換至 Amazon EC2 Linux 為節省 Windows Server 授權成本的理想選擇。從 SQL Server 2017 開始支援 Linux 上的 SQL Server。如需詳細資訊,請參閱將內部部署 Microsoft SQL Server 資料庫遷移至在 Amazon EC2 上執行 Linux 的 Microsoft SQL Server AWS on Prescriptive Guidance。
平台轉換
平台轉換是一種同質方法,非常適合透過使用全受管資料庫產品,來減少管理資料庫執行個體所花費的時間。Amazon RDS for SQL Server 中的全受管資料庫會限制您存取基礎作業系統、系統磁碟區或自訂驅動程式的安裝。如需詳細資訊,請參閱 Amazon RDS for Microsoft SQL Server。如果需要作業系統層級存取或現有的 SQL Server 授權, 請考慮將 轉換至 Amazon RDS Custom
Amazon RDS Custom for SQL Server 支援 BYOM 授權模式,可讓您使用自己的安裝媒體和授權。您的授權必須符合 Microsoft License Mobility
下列選項可用於將 SQL Server 遷移至 Amazon RDS for SQL Server 或 Amazon RDS Custom for SQL Server:
-
自訂日誌運送 – 需要 Amazon RDS for SQL Server 和 Amazon RDS Custom 的自訂指令碼。如需參考實作,請參閱 AWS 資料庫部落格上的使用自訂日誌運送,將內部部署或 Amazon EC2 SQL Server 自動化至 Amazon RDS for SQL Server 遷移
。 -
SQL Server 備份和還原 – 如需 Amazon RDS for SQL Server 的備份和還原,請參閱使用原生備份和還原將 SQL Server 遷移至 Amazon RDS
。對於 Amazon RDS Custom,請參閱使用原生備份和還原以及 Amazon S3 將內部部署 SQL Server 遷移至 Amazon RDS Custom for SQL Server 。
如需詳細資訊,請參閱 AWS 方案指南中的 SQL Server 遷移方法。
若要將 SQL Server 資料庫平台轉換,以在 Amazon RDS for SQL Server 中執行,請考慮使用 Amazon RDS for SQL Server 資源
重構
重構具有異質性。如果您準備好重組、重寫和重新建構資料庫和應用程式,以利用開放原始碼和專為built-for-the-cloud資料庫產品,請選擇此方法。如果您願意重構資料庫和個別應用程式,您可以將 SQL Server 工作負載現代化為 Amazon RDS for MySQL、Amazon RDS for PostgreSQL、Amazon Aurora MySQL 相容版本或 Amazon Aurora PostgreSQL 相容版本。您可以根據許多現代化時間軸和效能需求進行重構。
Amazon RDS for MySQL 和 Amazon RDS for PostgreSQL 是適用於相應開放原始碼資料庫的全受管資料庫產品。Amazon Aurora 是一種關聯式資料庫管理系統 (RDBMS),專為具有完整 MySQL 和 PostgreSQL 相容性的雲端而建置。Aurora 配備容錯儲存系統,可提供商業級資料庫的效能和可用性,成本僅為十分之一。
您也可以使用 Amazon Aurora Serverless
若要將您的 SQL Server 資料庫重構為其中一個方案,請考慮使用下列其中一項:
-
AWS Transform for SQL Server Modernization 會將 SQL Server 資料庫及其相關聯 .NET 應用程式的完整堆疊現代化自動化至 Amazon Aurora PostgreSQL。它協調整個遷移旅程,包括結構描述轉換、預存程序轉換 (T-SQL 到 PL/pgSQL) AWS DMS、資料遷移通過和應用程式碼更新 (實體架構、https://ADO.NET、連線字串)。它也在關鍵階段提供human-in-the-loop檢查點。如需有關支援的 SQL Server 版本、來源和目標的詳細資訊,請參閱 文件中的 AWS Transform 支援的版本和專案類型。
-
對於僅結構描述轉換或遷移至 Amazon RDS for MySQL、Amazon RDS for PostgreSQL 或其他 Aurora 目標,請考慮使用AWS DMS 結構描述轉換。
-
如果您的目標是加速應用程式和資料庫遷移到 AWS,請考慮使用 Babelfish for Aurora PostgreSQL。Babelfish 可讓最初為 SQL Server 編寫的應用程式使用 Amazon Aurora,並將程式碼變更降至最低。因此,您不再需要修改和移動至針對 SQL Server 2019 或更早版本開發的 Babelfish for Aurora PostgreSQL 應用程式,即可以更快速、風險更低且更具成本效益的方式進行重構。
請考量下列有關使用 Babelfish 進行遷移的資源:
-
使用 Babelfish 從 SQL Server 遷移至 Amazon Aurora
(AWS 資料庫部落格) -
使用評估報告準備 Babelfish 遷移 AWS SCT
(AWS 資料庫部落格) -
使用 SSIS 和 Babelfish 從 SQL Server 遷移至 Aurora PostgreSQL
(AWS 資料庫部落格) -
使用 Babelfish 作為 ( 文件) 的目標 AWS Database Migration ServiceAWS Database Migration Service
如需詳細資訊,請參閱 方案指引上的 AWS 用於異質資料庫遷移的工具。
-
其他資源
-
將 Microsoft SQL Server 資料庫遷移至 AWS 雲端(AWS 方案指引)
-
(AWS 部落格) 上 SQL Server 工作負載的遷移和現代化策略 AWS
-
SQL Server 資料庫遷移方法 (AWS 方案指引)