

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

# 將內部部署 Microsoft SQL Server 資料庫遷移至執行 Linux 的 Amazon EC2 上的 Microsoft SQL Server
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux"></a>

*Tirumala Dasari，Amazon Web Services*

## 總結
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-summary"></a>

此模式說明如何使用備份和還原公用程式，從在 Microsoft Windows 上執行的內部部署 Microsoft SQL Server 資料庫遷移至 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體上的 Microsoft SQL Server。

## 先決條件和限制
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-prereqs"></a>

**先決條件**
+ 作用中的 AWS 帳戶
+ 搭配 Microsoft SQL Server 的 Amazon EC2 Linux AMI (Amazon Machine Image)
+ Linux EC2 執行個體上的現場部署 Windows 和 Microsoft SQL Server 之間的 AWS Direct Connect

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-architecture"></a>

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

**目標技術堆疊**
+ 具有 Microsoft SQL Server 資料庫的 Linux EC2 執行個體

**資料庫遷移架構**

![將內部部署 SQL Server 資料庫遷移至 Linux EC2 執行個體的架構圖。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/f331ad15-2d41-4087-a6d1-60e3443e2acf/images/f50a779a-ce5d-44b1-8d37-dedd6400a12c.png)


## 工具
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-tools"></a>
+ **WinSCP** - 此工具可讓 Windows 使用者輕鬆與 Linux 使用者共用檔案。
+ **Sqlcmd** - 此命令列公用程式可讓您將 T-SQL 陳述式或批次提交至 SQL Server 的本機和遠端執行個體。此公用程式對於批次處理或單元測試等重複性資料庫任務非常有用。

## 史詩
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-epics"></a>

### 使用 SQL Server 準備 EC2 Linux 執行個體
<a name="prepare-the-ec2-linux-instance-with-sql-server"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 選取提供 Linux 作業系統並包含 Microsoft SQL Server 的 AMI。 |  | Sysadmin | 
| 設定 AMI 以建立 EC2 執行個體。 |  | Sysadmin | 
| 建立安全群組的傳入和傳出規則。 |  | Sysadmin | 
| 設定 Microsoft SQL Server 資料庫的 Linux EC2 執行個體。 |  | DBA | 
| 建立使用者並提供與來源資料庫中相同的許可。 |  | Appowner、DBA | 
| 在 Linux EC2 執行個體上安裝 SQL Server 工具和 sqlcmd 公用程式。 |  | DBA | 

### 備份資料庫並將備份檔案移至 Linux EC2 執行個體
<a name="back-up-the-database-and-move-backup-file-to-linux-ec2-instance"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 備份現場部署 SQL Server 資料庫。 |  | DBA | 
| 在 Microsoft SQL Server 上安裝 WinSCP。 |  | DBA | 
| 將備份檔案移至執行 Microsoft SQL Server 的 Linux EC2 執行個體。 |  | DBA | 

### 在執行 SQL Server 的 Linux EC2 執行個體上還原資料庫
<a name="restore-the-database-on-linux-ec2-instance-running-sql-server"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 使用 sqlcmd 公用程式從資料庫備份檔案還原資料庫。 |  | DBA | 
| 驗證資料庫物件和資料。 |  | 開發人員、測試工程師 | 

### 從 Windows SQL Server 切換到 Linux EC2 執行個體上的 Windows SQL Server
<a name="cut-over-from-windows-sql-server-to-windows-sql-server-on-linux-ec2-instance"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 驗證資料庫物件和資料。 |  | 開發人員、測試工程師 | 
| 從內部部署 Microsoft SQL Server 資料庫切換到執行 Microsoft SQL Server 的 Linux EC2 執行個體。 |  | DBA | 

## 相關資源
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-resources"></a>
+ [如何在 Amazon Linux 和 Ubuntu AMIs 上設定 SQL Server 2017](https://aws.amazon.com/blogs/database/configuring-sql-server-2017-on-amazon-linux-2-and-ubuntu-amis/) 
+ [在 Linux 執行個體上安裝 SQL 工具](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017#RHEL) 
+ [從內部部署 Microsoft SQL Server 資料庫備份和還原至 Linux EC2 執行個體上的 Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-migrate-restore-database?view=sql-server-2017#create-a-backup-on-windows) 