

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

# 使用連結的伺服器將內部部署 Microsoft SQL Server 資料庫遷移至 Amazon RDS for SQL Server
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers"></a>

*Kevin Yung、Vitakash Adwani 和 Amazon Web Services Vishal Singh*

## 總結
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-summary"></a>

連結的伺服器可讓 Microsoft SQL Server 在資料庫伺服器的其他執行個體上執行 SQL 陳述式。此模式說明如何將內部部署 Microsoft SQL Server 資料庫遷移至 Microsoft SQL Server 的 Amazon Relational Database Service (Amazon RDS)，以實現更低的成本和更高的可用性。目前，Amazon RDS for Microsoft SQL Server 不支援 Amazon Virtual Private Cloud (Amazon VPC) 網路以外的連線。 

您可以使用此模式來達成下列目標：
+ 將 Microsoft SQL Server 遷移至 Amazon RDS for Microsoft SQL Server，而不會中斷連結的伺服器功能。
+ 在不同的波段中排定和遷移連結的 Microsoft SQL Server 的優先順序。

## 先決條件和限制
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-prerequisites-and-limitations"></a>

**先決條件**
+ 檢查 [Amazon RDS 上的 Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html) 是否支援您需要的功能。
+ 請確定您可以使用[Amazon RDS for Microsoft SQL Server 搭配預設定序或透過資料庫層級設定的定序](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html)。 

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-architecture"></a>

**來源技術堆疊**
+ 內部部署資料庫 (Microsoft SQL Server)

 **目標技術堆疊**
+ Amazon RDS for SQL Server

**來源狀態架構**

![\[Diagram showing data replication between two data centers with primary and secondary SQL servers.\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/95234758-cb8b-46e5-afd2-3d4aaf6ed668/images/776b453a-7fa0-43fd-b1ca-fb9e5cc21820.png)


 

 

 

 

 

 

 

 

 

 

 

 

**目標狀態架構**

在目標狀態下，您可以使用連結的伺服器，將 Microsoft SQL Server 遷移至 Amazon RDS for Microsoft SQL Server。此架構使用 Network Load Balancer 將流量從 Amazon RDS for Microsoft SQL Server 代理到執行 Microsoft SQL Server 的內部部署伺服器。下圖顯示 Network Load Balancer 的反向代理功能。

![\[AWS 雲端 architecture with RDS SQL Server instances in two availability zones and on-premises databases.\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/95234758-cb8b-46e5-afd2-3d4aaf6ed668/images/6bdbdfbf-b048-4fbd-acef-0aeb826edb50.png)


 

## 工具
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-tools"></a>
+ AWS CloudFormation
+ Network Load Balancer 
+ 位於多個可用區域的 Amazon RDS for SQL Server （多AZs區域）
+ AWS Database Migration Service (AWS DMS) 

## 史詩
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-epics"></a>

### 建立登陸區域 VPC
<a name="create-a-landing-zone-vpc"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 CIDR 配置。 |  | AWS SysAdmin | 
| 建立 Virtual Private Cloud (VPC) |  | AWS SysAdmin | 
| 建立 VPC 子網路。 |  | AWS SysAdmin | 
| 建立子網路存取控制清單 ACLs)。 |  | AWS SysAdmin | 
| 建立子網路路由表。 |  | AWS SysAdmin | 
| 建立與 AWS Direct Connect 或 AWS Virtual Private Network (VPN) 的連線。 |  | AWS SysAdmin | 

### 將資料庫遷移至 Amazon RDS
<a name="migrate-the-database-to-amazon-rds"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 Amazon RDS for Microsoft SQL Server 資料庫執行個體。 |  | AWS SysAdmin | 
| 建立 AWS DMS 複寫執行個體。 |  | AWS SysAdmin | 
| 在 AWS DMS 中建立來源和目標資料庫端點。 |  | AWS SysAdmin | 
| 建立遷移任務，並在完全載入後將連續複寫設定為 ON。 |  | AWS SysAdmin | 
| 請求防火牆變更，以允許 Amazon RDS for Microsoft SQL Server 存取內部部署 SQL Server 資料庫。 |  | AWS SysAdmin | 
| 建立 Network Load Balancer。 |  | AWS SysAdmin | 
| 建立目標群組，以資料中心中的資料庫伺服器為目標 | 我們建議您在目標設定中使用主機名稱來整合資料中心 (DC) 容錯移轉事件。 | AWS SysAdmin | 
| 針對連結的伺服器設定執行 SQL 陳述式。 | 針對 Amazon RDS for Microsoft SQL Server 資料庫執行個體，使用 Microsoft SQL 管理工具執行 SQL 陳述式來新增連結的伺服器。在 SQL 陳述式中，將 @datasrc 設定為使用 Network Load Balancer 主機名稱。針對 Amazon RDS for Microsoft SQL Server 資料庫執行個體，使用 Microsoft SQL 管理工具新增連結的伺服器登入憑證。 | AWS SysAdmin | 
| 測試和驗證 SQL Server 函數。 |  | AWS SysAdmin | 
| 建立切換。 |  | AWS SysAdmin | 

## 相關資源
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-related-resources"></a>
+ [Amazon RDS 上 Microsoft SQL Server 的常見管理任務](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General)
+ [Microsoft SQL Server 的定序和字元集](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) 
+ [Network Load Balancer 文件](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [使用 Amazon RDS for Microsoft SQL Server 實作連結的伺服器 （部落格文章）](https://aws.amazon.com/blogs/database/implement-linked-servers-with-amazon-rds-for-microsoft-sql-server/)