

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 AWS DMS 和 AWS SCT 將 Microsoft SQL Server 資料庫遷移至 Aurora MySQL
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct"></a>

*Mark Szalkiewicz 和 Pavan Pusuluri，Amazon Web Services*

## 總結
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-summary"></a>

此模式說明如何將內部部署或 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上的 Microsoft SQL Server 資料庫遷移至 Amazon Aurora MySQL。模式使用 AWS Database Migration Service (AWS DMS) 和 AWS Schema Conversion Tool (AWS SCT) 進行資料遷移和結構描述轉換。

## 先決條件和限制
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-prerequisites-and-limitations"></a>

**先決條件**
+ 作用中的 AWS 帳戶
+ 內部部署資料中心或 EC2 執行個體上的 Microsoft SQL Server 來源資料庫 
+ AWS SCT 連接器的 Java Database Connectivity (JDBC) 驅動程式，安裝在本機電腦或安裝 AWS SCT 的 EC2 執行個體上 

 

**限制**
+ 資料庫大小限制：64 TB

**產品版本**
+ 適用於 Enterprise、Standard、Workgroup 和 Developer 版本的 Microsoft SQL Server 2008、2008R2、2012、2014、2016 和 2017。AWS DMS 不支援 Web 和 Express 版本。如需支援版本的最新清單，請參閱[使用 Microsoft SQL Server 資料庫做為 AWS DMS 的來源](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html)。我們建議您使用最新版本的 AWS DMS，以獲得最全面的版本和功能支援。如需 AWS SCT 支援的 Microsoft SQL Server 版本相關資訊，請參閱 [AWS SCT 文件](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)。
+ MySQL 5.5、5.6 和 5.7 版。如需支援版本的最新清單，請參閱[使用 MySQL 相容資料庫做為 AWS DMS 的目標](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html)。

## Architecture
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-architecture"></a>

**來源技術堆疊**

下列其中一項： 
+ 內部部署 Microsoft SQL Server 資料庫
+ EC2 執行個體上的 Microsoft SQL Server 資料庫

**目標技術堆疊**
+ Aurora MySQL

**資料遷移架構**
+ 從 AWS 雲端中執行的 Microsoft SQL Server 資料庫 

![\[AWS 雲端 architecture showing VPC with private subnet containing SQL Server and Aurora MySQL databases.\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/c675ada4-e92c-4ddb-b49f-69668f532504.png)

+ 從內部部署資料中心執行的 Microsoft SQL Server 資料庫

![\[AWS 雲端 architecture diagram showing on-premises to cloud migration using AWS SCT, DMS, and Aurora MySQL.\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/b6ce0199-fc56-4bf2-a8cc-67de161e3cf0.png)


## 工具
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS** - [AWS Data Migration Service](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) (AWS DMS) 可協助您在廣泛使用的商業和開放原始碼資料庫之間遷移資料，包括 Oracle、SQL Server、MySQL 和 PostgreSQL。您可以使用 AWS DMS 將資料遷移至 AWS 雲端，可在現場部署執行個體 (透過 AWS 雲端設定) 或在雲端和現場部署設定之間進行。
+ **AWS SCT** - [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) 會自動將來源資料庫結構描述和大部分自訂程式碼轉換為與目標資料庫相容的格式，讓異質資料庫遷移變得更容易。

## 史詩
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-epics"></a>

### 準備遷移
<a name="prepare-for-the-migration"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 驗證來源和目標資料庫版本和引擎。 |  | DBA | 
| 為來源和目標資料庫建立傳出安全群組。 |  | SysAdmin | 
| 視需要建立和設定 AWS SCT 的 EC2 執行個體。 |  | DBA | 
| 下載最新版本的 AWS SCT 和相關聯的驅動程式。 |  | DBA | 
| 在來源資料庫中新增和驗證先決條件使用者和授權。 |  | DBA | 
| 為工作負載建立 AWS SCT 專案，並連線至來源資料庫。 |  | DBA | 
| 產生評估報告並評估可行性。 |  | DBA | 

### 準備目標資料庫
<a name="prepare-the-target-database"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 使用 Amazon Aurora 做為資料庫引擎，建立目標 Amazon RDS 資料庫執行個體。 |  | DBA | 
| 從來源擷取使用者、角色和授予的清單。 |  | DBA | 
| 將現有的資料庫使用者映射至新的資料庫使用者。 |  | 應用程式擁有者 | 
| 在目標資料庫中建立使用者。 |  | DBA | 
| 將上一個步驟的角色套用至目標資料庫。 |  | DBA | 
| 檢閱來源資料庫中的資料庫選項、參數、網路檔案和資料庫連結，然後評估其對目標資料庫的適用性。 |  | DBA | 
| 將任何相關設定套用至目標。 |  | DBA | 

### 傳輸物件
<a name="transfer-objects"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 設定目標資料庫的 AWS SCT 連線。 |  | DBA | 
| 使用 AWS SCT 轉換結構描述。 | AWS SCT 會自動將來源資料庫結構描述和大多數自訂程式碼轉換為與目標資料庫相容的格式。工具無法自動轉換的任何程式碼都會清楚標示，讓您可以自行轉換。 | DBA | 
| 檢閱產生的 SQL 報告，並儲存任何錯誤和警告。 |  | DBA | 
| 將自動化結構描述變更套用至目標，或將其儲存為 .sql 檔案。 |  | DBA | 
| 驗證 AWS SCT 是否已在目標上建立物件。 |  | DBA | 
| 手動重寫、拒絕或重新設計任何無法自動轉換的項目。 |  | DBA | 
| 套用產生的角色和使用者授權，並檢閱任何例外狀況。 |  | DBA | 

### 遷移資料
<a name="migrate-the-data"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 決定遷移方法。 |  | DBA | 
| 從 AWS DMS 主控台建立複寫執行個體。 | 如需使用 AWS DMS 的詳細資訊，請參閱「相關資源」一節中的連結。 | DBA | 
| 建立來源和目標端點。 |  | DBA | 
| 建立複寫任務。 |  | DBA | 
| 啟動複寫任務並監控日誌。 |  | DBA | 

### 遷移應用程式
<a name="migrate-the-application"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 使用 AWS SCT 來分析和轉換應用程式程式碼中的 SQL 項目。 | 當您將資料庫結構描述從一個引擎轉換到另一個引擎，您也需更新應用程式中的 SQL 程式碼，以便與新的資料庫引擎互動，取代舊引擎。您可以檢視、分析、編輯和儲存轉換後的 SQL 程式碼。如需使用 AWS SCT 的詳細資訊，請參閱「相關資源」一節中的連結。 | 應用程式擁有者 | 
| 在 AWS 上建立新的應用程式伺服器。 |  | 應用程式擁有者 | 
| 將應用程式碼遷移至新的伺服器。 |  | 應用程式擁有者 | 
| 設定目標資料庫和驅動程式的應用程式伺服器。 |  | 應用程式擁有者 | 
| 修正應用程式中來源資料庫引擎特有的任何程式碼。 |  | 應用程式擁有者 | 
| 最佳化目標引擎的應用程式碼。 |  | 應用程式擁有者 | 

### 切換
<a name="cut-over"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 將任何新使用者、授權和程式碼變更套用至目標。 |  | DBA | 
| 鎖定應用程式是否有任何變更。 |  | 應用程式擁有者 | 
| 驗證所有變更是否已傳播到目標資料庫。 |  | DBA | 
| 將新的應用程式伺服器指向目標資料庫。 |  | 應用程式擁有者 | 
| 重新檢查所有項目。 |  | 應用程式擁有者 | 
| 上線。 |  | 應用程式擁有者 | 

### 關閉專案
<a name="close-the-project"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 關閉臨時 AWS 資源 (AWS DMS 複寫執行個體和用於 AWS SCT 的 EC2 執行個體）。 |  | DBA、應用程式擁有者 | 
| 更新內部團隊的 AWS DMS 程序意見回饋。 |  | DBA、應用程式擁有者 | 
| 修訂 AWS DMS 程序並視需要改善範本。 |  | DBA、應用程式擁有者 | 
| 檢閱並驗證專案文件。 |  | DBA、應用程式擁有者 | 
| 收集遷移時間、手動與工具成本節省百分比等指標。 |  | DBA、應用程式擁有者 | 
| 關閉專案並提供任何意見回饋。 |  | DBA、應用程式擁有者 | 

## 相關資源
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-related-resources"></a>

**參考**
+ [AWS DMS 使用者指南](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [AWS SCT 使用者指南](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)  
+ [Amazon Aurora 定價](https://aws.amazon.com/rds/aurora/pricing/) 

**教學課程和影片**
+ [AWS Database Migration Service 入門](https://aws.amazon.com/dms/getting-started/)
+ [AWS Schema Conversion Tool入門](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Amazon RDS 資源](https://aws.amazon.com/rds/getting-started/)
+ [AWS DMS Step-by-Step演練](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) 