

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 从 SQL Server 迁移到适用于 SQL Server 的 Amazon RDS AWS Schema Conversion Tool
<a name="CHAP_Source.SQLServer.ToRDSSQLServer"></a>

将 SQL Server 架构和代码迁移到 Amazon RDS for SQL Server 时要考虑的一些事项：
+ AWS SCT 可以将 SQL Server 代理转换为在 Amazon RDS for SQL Server 数据库实例上提供计划、警报和作业。转换后，可以将 Amazon RDS for SQL Server 数据库实例与 SQL Server Reporting Services (SSRS)、SQL Server Analysis Services (SSAS) 和 SQL Server Integration Services (SSIS) 结合使用。
+ Amazon RDS 当前不支持 SQL Server Service Broker 或其他需要您运行 CREATE ENDPOINT 命令的 T-SQL 终端节点。
+ Amazon RDS 对链接的服务器具有有限的支持。转换使用链接服务器的 SQL Server 应用程序代码时， AWS SCT 会转换应用程序代码。但是，请确保先查看使用链接服务器的对象的行为，然后再运行转换的代码。
+ 使用“始终打开”。
+  AWS SCT 评估报告提供了转化的服务器指标。这些有关 SQL Server 实例的指标包括：
  + 使用了数据镜像。
  + 配置了 SQL Server 日志传输。
  + 使用了故障转移群集。
  + 配置了数据库邮件。
  + 使用了全文搜索服务。Amazon RDS for SQL Server 具有有限的全文搜索，并且不支持语义搜索。
  + 安装了 Data Quality Service (DQS)。Amazon RDS 不支持 DQS，因此我们建议您在 Amazon EC2 实例上安装 SQL Server。

## 将 RDS for SQL Server 作为目标的权限
<a name="CHAP_Source.SQLServer.ToRDSSQLServer.ConfigureTarget"></a>

要迁移到 RDS for SQL Server，请创建一个数据库用户，然后为每个数据库授予所需的权限。您可以使用以下代码示例：

```
CREATE LOGIN user_name WITH PASSWORD 'your_password';
                
USE db_name
CREATE USER user_name FOR LOGIN user_name
GRANT VIEW DEFINITION TO user_name
GRANT VIEW DATABASE STATE TO user_name
GRANT CREATE SCHEMA TO user_name;
GRANT CREATE TABLE TO user_name;
GRANT CREATE VIEW TO user_name;
GRANT CREATE TYPE TO user_name;
GRANT CREATE DEFAULT TO user_name;
GRANT CREATE FUNCTION TO user_name;
GRANT CREATE PROCEDURE TO user_name;
GRANT CREATE ASSEMBLY TO user_name;
GRANT CREATE AGGREGATE TO user_name;
GRANT CREATE FULLTEXT CATALOG TO user_name;
GRANT CREATE SYNONYM TO user_name;
GRANT CREATE XML SCHEMA COLLECTION TO user_name;
```

在前面的示例中，*user\$1name*使用您的用户名替换。然后，*db\$1name*替换为目标数据库的名称。最后，*your\$1password*替换为安全密码。