

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

# 使用 Microsoft SQL Server 資料庫作為 DMS 結構描述轉換中的來源
<a name="data-providers-sql-server"></a>

您可以使用 SQL Server 資料庫作為 DMS 結構描述轉換中的遷移來源。

透過 DMS 結構描述轉換，您可以將資料庫程式碼物件從 SQL Server 轉換為下列目標：
+ Aurora MySQL
+ Aurora PostgreSQL
+ RDS for MySQL
+ RDS for PostgreSQL

如需受支援 SQL Server 資料庫版本的相關資訊，請參閱：[DMS 結構描述轉換的來源資料提供者](CHAP_Introduction.Sources.md#CHAP_Introduction.Sources.SchemaConversion)。

如需使用 DMS 結構描述轉換搭配來源 SQL Server 資料庫的詳細資訊，請參閱 [SQL Server 到 MySQL 遷移的逐步解說](https://docs.aws.amazon.com/dms/latest/sbs/schema-conversion-sql-server-mysql.html)。

## 將 Microsoft SQL Server 作為來源的權限
<a name="data-providers-sql-server-permissions"></a>

檢視 Microsoft SQL Server 作為來源的必要權限如下所列：
+ VIEW DEFINITION
+ VIEW DATABASE STATE

`VIEW DEFINITION` 權限可讓擁有公開存取權的使用者查看物件定義。DMS 結構描述轉換會使用 `VIEW DATABASE STATE` 權限來檢查 SQL Server Enterprise 版的功能。

對您要轉換其結構描述的每個資料庫重複授予。

此外，請授與 `master` 資料庫的下列權限：
+ VIEW SERVER STATE
+ VIEW ANY DEFINITION

DMS 結構描述轉換會使用 `VIEW SERVER STATE` 權限來收集伺服器設定和組態。請確定您已授與檢視資料提供者的 `VIEW ANY DEFINITION` 權限。

若要讀取 Microsoft Analysis Services 的相關資訊，請在 `master` 資料庫上執行下列命令。

```
EXEC master..sp_addsrvrolemember @loginame = N'<user_name>', @rolename = N'sysadmin'
```

在上述範例中，請將 `<user_name>` 預留位置替換為您先前授與必要權限的使用者名稱。

若要讀取 SQL Server 代理程式的相關資訊，請將您的使用者新增至 SQLAgentUser 角色。在 `msdb` 資料庫上執行下列命令。

```
EXEC sp_addrolemember <SQLAgentRole>, <user_name>;
```

在上述範例中，請將 `<SQLAgentRole>` 預留位置替換為 SQL Server 代理程式角色的名稱。接著將 `<user_name>` 預留位置替換為您先前授與必要權限的使用者名稱。如需詳細資訊，請參閱《*Amazon RDS 使用者指南*》中的「[將使用者新增至 SQLAgentUser 角色](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Agent.html#SQLServerAgent.AddUser)」。

若要偵測日誌傳送，請授與 `msdb` 資料庫的 `SELECT on dbo.log_shipping_primary_databases` 權限。

若要使用資料定義語言 (DDL) 複寫的通知方法，請授與來源資料庫的 `RECEIVE ON <schema_name>.<queue_name>` 權限。在此範例中，請將 `<schema_name>` 預留位置替換為您資料庫的結構描述名稱。接著將 `<queue_name>` 預留位置替換為佇列資料表的名稱。