

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

# 遷移至 Amazon RDS for SQL Server 的最佳實務
<a name="best-practices"></a>

根據資料庫評估和專案需求，如果您的目標是遷移至 Amazon RDS for SQL Server，請遵循本節中的最佳實務來佈建目標資料庫、執行遷移，以及測試、操作和最佳化 Amazon RDS for SQL Server 資料庫。

**重要**  
在遷移資料庫之前，請確定您有一個復原計劃。

**注意**  
您可以使用 Migration Hub Orchestrator，透過原生備份和還原來自動化和協調 SQL Server 資料庫遷移至 Amazon EC2 或 Amazon RDS。如需詳細資訊，請參閱[AWS Migration Hub Orchestrator 一節](mho.md)。

## 佈建您的目標資料庫
<a name="provision"></a>

完成評估、規劃和準備資料庫遷移策略後，請遵循下列最佳實務來佈建 Amazon RDS for SQL Server 資料庫：
+ 根據您的 CPU、記憶體、IOPS 和儲存類型需求，調整 Amazon RDS for SQL Server 資料庫執行個體的大小。（如果您使用的是 SQL Server Standard Edition，請在 Standard Edition 的限制範圍內佈建 CPU 和記憶體。)
+ 設定正確的時區和定序。
+ 請務必在正確的虛擬私有雲端 (VPC) 中啟動 Amazon RDS。
+ 建立具有正確連接埠和 IP 地址的安全群組。
+ 在私有子網路中佈建 Amazon RDS 資料庫以確保安全。
+ 如果可能，使用最新版的 SQL Server 佈建 SQL Server 執行個體。
+ 為每個 Amazon RDS 資料庫建立單獨的選項群組和參數群組。
+ 收集和擷取登入、使用者和角色以進行遷移。
+ 針對需要遷移的維護和應用程式，檢閱 SQL Server Agent 任務。

## 從來源資料庫備份
<a name="backup"></a>

有許多工具可將 SQL Server 資料庫遷移至 Amazon RDS for SQL Server 資料庫。如果您的需求允許停機時間，最常用的方法是使用 SQL Server 原生備份和還原。

如果您的停機時間有限，您可以使用原生 SQL Server 備份/還原搭配差異備份和日誌備份。或者，您可以使用 AWS DMS，這提供三種選項：完全載入、完全載入和 CDC，或僅限 CDC。

## 將資料傾印檔案傳輸至 AWS
<a name="transfer-data"></a>
+ 如果您使用的是 Direct Connect，其可在內部部署環境與 之間提供高頻寬連線 AWS，您可以將 SQL Server 備份複製到 Amazon S3 並設定 [Amazon S3 整合](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/User.SQLServer.Options.S3-integration.html)。
+ 如果您沒有高頻寬 Direct Connect，請使用 AWS Snowball Edge 來傳輸大型資料庫備份檔案。您也可以使用 在需要複寫時 AWS DMS 傳輸資料。

## 將資料還原至目標資料庫
<a name="restore-data"></a>
+ 如果您正在遷移非常大型的資料庫，我們建議您在遷移期間先佈建更大的 [Amazon RDS 執行個體類型](https://aws.amazon.com/rds/instance-types/)，以便更快速地載入資料。
+ 停用多個可用區。（這可以在遷移後重新啟用。)
+ 停用備份保留。（這可以在遷移後重新啟用。)
+ 使用原生 SQL Server 還原命令來**還原**資料庫。
+ 建立登入和使用者，並視需要修正孤立的使用者。
+ 視需要建立 SQL Server Agent 任務並檢閱排程。

## 遷移後步驟
<a name="post-migration"></a>

遷移完成後，您可以：
+ 將資料庫執行個體變更為大小正確的執行個體類型。
+ 啟用異地同步備份和備份保留。
+ 確定已在次要節點上建立所有任務 （用於多可用區組態）。
+ 將 SQL Server 錯誤和代理程式日誌發佈至 Amazon CloudWatch Logs，並使用 CloudWatch 檢視指標和建立警示。如需詳細資訊，請參閱 [Amazon RDS 文件](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.SQLServer.html)。
+ 啟用[增強型監控](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html)，以即時取得資料庫執行個體的指標。
+ 設定警示的 Amazon Simple Notification Service (Amazon SNS) 主題。

## 測試遷移
<a name="test-migration"></a>

我們建議您進行下列測試，以針對新的 Amazon RDS for SQL Server 資料庫驗證您的應用程式：
+ 執行功能測試。
+ 比較來源和目標資料庫中 SQL 查詢的效能，並視需要調整查詢。某些查詢在目標資料庫中執行速度可能較慢，因此建議您擷取來源資料庫中 SQL 查詢的基準。

如需在proof-of-concept(POC) 階段進行其他驗證，我們建議進行下列補充測試：
+ 執行效能測試，以確保它們符合您的業務期望。
+ 測試資料庫容錯移轉、復原和還原，以確保您符合 RPO 和 RTO 要求。
+ 列出所有關鍵任務和報告，並在 Amazon RDS 上執行這些任務和報告，以根據您的服務層級協議 (SLAs) 評估其效能。

## 操作和最佳化 Amazon RDS 資料庫
<a name="operate-optimize"></a>

當您的資料庫開啟時 AWS，請務必遵循監控、提醒、備份和雲端高可用性等方面的最佳實務。例如：
+ 設定 CloudWatch 監控，並啟用詳細監控。
+ 使用 [Amazon RDS Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 和其他第三方監控解決方案，例如 [SentryOne](https://www.sentryone.com/) 或 [Foglight for SQL Server](https://www.quest.com/products/foglight-for-sql-server/) 來監控資料庫。
+ 使用 SNS 主題設定提醒。
+ 使用 [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)或原生 SQL Server 備份來設定自動備份，然後複製到 Amazon S3。
+ 若要取得高可用性，請設定 Amazon RDS Multi-AZ 功能。
+ 如果您需要唯讀資料庫，請根據您的需求，在相同或跨 AWS 區域[設定僅供讀取複本](rds-sql.md#rds-sql-replicas)。