

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

# 使用 DMS 架构转换来转换数据库架构
<a name="CHAP_SchemaConversion"></a>

**注意**  
带有生成式人工智能功能的 DMS 架构转换现已推出。有关更多信息，请参阅[查看针对 DMS 架构转换的数据库迁移评测报告](assessment-reports-view.md)和[在 DMS 架构转换中转换数据库架构：指南 step-by-step](schema-conversion-convert.md)。

 AWS Database Migration Service (AWS DMS) 中的 DMS 架构转换使不同类型的数据库之间的数据库迁移更具可预测性。使用 DMS 架构转换来评测源数据提供程序的迁移复杂性，然后用来转换数据库架构和代码对象。然后，您可以将转换后的代码应用于目标数据库。

DMS 架构转换会自动将源数据库架构和大部分数据库代码对象转换为与目标数据库兼容的格式。此转换包括表、视图、存储过程、函数、数据类型、同义词等。任何 DMS 架构转换无法自动转换的对象都会被明确标记。要完成迁移，您可以手动转换这些对象。

简而言之，[DMS 架构转换](https://aws.amazon.com/dms/schema-conversion-tool/)由以下三个组件运行：实例配置文件、数据提供程序和迁移项目。*实例配置文件*指定网络和安全设置。*数据提供程序*存储数据库连接凭证。*迁移项目*包含数据提供程序、实例配置文件和迁移规则。 AWS DMS 使用数据提供器和实例配置文件来设计转换数据库架构和代码对象的流程。

有关支持的源数据库的列表，请参阅 [DMS 架构转换的源](CHAP_Introduction.Sources.md#CHAP_Introduction.Sources.SchemaConversion)。

有关支持的目标数据库列表，请参阅[DMS 架构转换的目标](CHAP_Introduction.Targets.md#CHAP_Introduction.Targets.SchemaConversion)。

下图阐明了 DMS 架构转换过程。

![\[DMS 架构转换功能的架构图。\]](http://docs.aws.amazon.com/zh_cn/dms/latest/userguide/images/dms-schema-conversion-diagram.png)


通过以下主题更好地了解如何使用 DMS 架构转换。

**Topics**
+ [支持 AWS 区域](#schema-conversion-supported-regions)
+ [架构转换功能](#schema-conversion-features)
+ [架构转换限制](#schema-conversion-limitations)
+ [开始使用 DMS 架构转换](getting-started.md)
+ [为 DMS 架构转换设置网络](instance-profiles-network.md)
+ [在 DMS 架构转换中创建源数据提供程序](data-providers-source.md)
+ [在 DMS 架构转换中创建和设置目标数据提供程序](data-providers-target.md)
+ [虚拟数据提供程序](virtual-data-provider.md)
+ [在 DMS 架构转换中管理迁移项目](sc-migration-projects.md)
+ [使用 DMS 架构转换创建数据库迁移评测报告](assessment-reports.md)
+ [使用 DMS 架构转换](schema-conversion.md)
+ [在 DMS 架构转换中使用扩展包](extension-pack.md)
+ [AWS 用于 DMS 架构转换和通用工作室框架 (CSF) 的 IAM 操作到 API 的映射](schema-conversion-iam.mapping.md)

## 支持 AWS 区域
<a name="schema-conversion-supported-regions"></a>

您可以在下面 AWS 区域创建 DMS 架构转换迁移项目。在其他区域，您可以使用 AWS Schema Conversion Tool。有关的更多信息 AWS SCT，请参阅 [AWS Schema Conversion Tool 用户指南](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/)。


| 区域名称 | Region | 
| --- | --- | 
| 非洲（开普敦）  | af-south-1 | 
| 亚太地区（香港） | ap-east-1 | 
| 亚太地区（孟买） | ap-south-1 | 
| 亚太地区（海得拉巴） | ap-south-2 | 
| 亚太地区（东京） | ap-northeast-1 | 
| 亚太地区 (首尔) | ap-northeast-2 | 
| 亚太地区（新加坡） | ap-southeast-1 | 
| 亚太地区（悉尼） | ap-southeast-2 | 
| 亚太地区（雅加达） | ap-southeast-3 | 
| 亚太地区（墨尔本） | ap-southeast-4 | 
| 加拿大（中部） | ca-central-1 | 
| 加拿大西部（卡尔加里） | ca-west-1 | 
| 欧洲地区（法兰克福） | eu-central-1 | 
| 欧洲（苏黎世） | eu-central-2 | 
| 欧洲地区（斯德哥尔摩） | eu-north-1 | 
| 欧洲地区（米兰） | eu-south-1 | 
| 欧洲（西班牙） | eu-south-2 | 
| 欧洲地区（爱尔兰） | eu-west-1 | 
| 欧洲地区（巴黎） | eu-west-3 | 
| 以色列（特拉维夫） | il-central-1 | 
| 中东（阿联酋）： | me-central-1 | 
| 南美洲（圣保罗） | sa-east-1 | 
| 美国东部（弗吉尼亚州北部） | us-east-1 | 
| 美国东部（俄亥俄州） | us-east-2 | 
| 美国西部 (加利福尼亚北部) | us-west-1 | 
| 美国西部（俄勒冈州） | us-west-2 | 

## 架构转换功能
<a name="schema-conversion-features"></a>

DMS 架构转换提供以下功能：
+ DMS 架构转换会自动管理您的数据库迁移项目所需的 AWS 云 资源。这些资源包括实例配置文件、数据提供程序和 AWS Secrets Manager 机密。它们还包括 AWS Identity and Access Management (IAM) 角色、Amazon S3 存储桶和迁移项目。
+ 您可以使用 DMS 架构转换来连接到源数据库、读取元数据和创建数据库迁移评测报告。然后，您可以将报告保存到 Amazon S3 存储桶。借助这些报告，您将大致了解您的架构转换任务，以及 DMS 架构转换无法自动转换为目标数据库的项目的详细信息。数据库迁移评测报告有助于评估 DMS 架构转换可以自动执行多少迁移项目。这些报告还有助于估算完成转换所需的手动工作量。有关更多信息，请参阅 [使用 DMS 架构转换创建数据库迁移评测报告](assessment-reports.md)。
+ 连接到源和目标数据提供程序后，DMS 架构转换可以将您的现有源数据库架构转换为目标数据库引擎。您可以从源数据库中选择要转换的任何架构项目。在 DMS 架构转换中转换数据库代码后，您可以查看源代码和转换后的代码。您可以将转换后的 SQL 代码保存到 Amazon S3 存储桶。
+ 在转换源数据库架构之前，您可以设置转换规则。您可以使用转换规则更改列的数据类型、将对象从一个架构移动到另一个架构以及更改对象的名称。您可以将转换规则应用到数据库、架构、表和列。有关更多信息，请参阅 [ 设置转换规则](schema-conversion-transformation-rules.md)。
+ 您可以更改转换设置以提高转换后代码的性能。这些设置特定于每个转换对，并且取决于您在代码中使用的源数据库的功能。有关更多信息，请参阅 [指定架构转换设置](schema-conversion-settings.md)。
+ 在某些情况下，DMS 架构转换无法将源数据库功能转换为等效的 Amazon RDS 功能。对于这些情况，DMS 架构转换会在目标数据库中创建一个扩展包，以模拟未转换的功能。有关更多信息，请参阅 [使用扩展包](extension-pack.md)。
+ 您可以将转换后的代码和扩展包架构应用于目标数据库。有关更多信息，请参阅 [应用转换后的代码](schema-conversion-save-apply.md#schema-conversion-apply)。
+ DMS 架构转换支持最新 AWS SCT 版本中的所有功能。有关更多信息，请参阅 [AWS SCT 的最新发行说明](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ReleaseNotes.html)。
+ 在 DMS 将转换后的 SQL 代码迁移到目标数据库之前，您可以对该代码进行编辑。有关更多信息，请参阅 [编辑和保存转换后的 SQL 代码](schema-conversion-convert.md#schema-conversion-convert-editsql)。

## 架构转换限制
<a name="schema-conversion-limitations"></a>

DMS 架构转换是 () 的 AWS Schema Conversion Tool 网络版本。AWS SCT与 AWS SCT 桌面应用程序相比，DMS 架构转换支持的数据库平台更少，提供的功能也更有限。要转换数据仓库架构、大数据框架、应用程序 SQL 代码和 ETL 流程，请使用 AWS SCT。有关的更多信息 AWS SCT，请参阅 [AWS Schema Conversion Tool 用户指南](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/)。

使用 DMS 架构转换进行数据库架构转换时，存在以下限制：
+ 您无法保存迁移项目并在离线模式下使用。
+ 对于 DMS 架构转换的迁移项目，您无法编辑源数据库的 SQL 代码。要编辑源数据库的 SQL 代码，请使用常规 SQL 编辑器。选择**从数据库刷新**，将更新的代码添加到您的迁移项目中。
+ DMS 架构转换中的迁移规则不支持更改列排序规则。您不能使用迁移规则将对象移动到新架构。
+ 您不能对源数据库树和目标数据库树应用筛选器以仅显示符合筛选子句的数据库对象。
+ DMS Schema Conversion 扩展包不包含在转换后的代码中模拟电子邮件发送、作业调度和其他功能的 AWS Lambda 函数。
+ DMS 架构转换不使用客户管理的 KMS 密钥来访问任何客户 AWS 资源。例如，DMS 架构转换不支持使用客户管理的 KMS 密钥访问 Amazon S3 中的客户数据。