View a markdown version of this page

使用 Microsoft SQL Server 数据库作为 DMS 架构转换的源 - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Microsoft SQL Server 数据库作为 DMS 架构转换的源

DMS 架构转换支持以下模式将 Microsoft SQL Server 作为迁移源:

  • 在线模式 — DMS 架构转换直接连接到您的源数据库以读取元数据。这需要在 DMS 架构转换和您的数据库之间建立网络连接,并且数据库用户必须具有所需的权限。有关网络配置的更多信息,请参阅架构转换联网

  • 离线模式 — DMS 架构转换从存储在 Amazon S3 存储桶中的导出脚本文件中读取元数据,无需连接到源数据库。当源数据库的网络连接受限或不可用时,请使用此选项。要使用离线模式,请在创建数据提供器时打开虚拟模式。有关更多信息,请参阅 离线源和虚拟目标的虚拟模式

您可以使用 DMS 架构转换,将数据库代码对象从 SQL Server 转换为以下目标:

  • Aurora MySQL

  • Aurora PostgreSQL

  • RDS for MySQL

  • RDS for PostgreSQL

有关支持的 SQL Server 数据库版本的信息,请参阅 DMS 架构转换的源数据提供程序

有关使用 SQL Server 源数据库进行 DMS 架构转换的更多信息,请参阅从 SQL Server 迁移到 MySQL 的逐步演练

使用 Microsoft SQL Server 作为源所需的权限

下面列出了使用 Microsoft SQL Server 作为源所需的权限:

  • VIEW DEFINITION

  • VIEW DATABASE STATE

VIEW DEFINITION 权限允许具有公共访问权限的用户查看对象定义。DMS 架构转换使用 VIEW DATABASE STATE 权限检查 SQL Server 企业版的功能。

对要转换其架构的每个数据库重复以上授权。

此外,授予针对 master 数据库的以下权限:

  • VIEW SERVER STATE

  • VIEW ANY DEFINITION

DMS 架构转换使用 VIEW SERVER STATE 权限收集服务器设置和配置。请确保已授予查看数据提供程序的 VIEW ANY DEFINITION 权限。

要读取有关 Microsoft 分析服务的信息,请在 master 数据库上运行以下命令。

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

在上例中,将 <user_name> 占位符替换为您之前授予其所需权限的用户名。

要阅读有关 SQL Server Agent 的信息,请将用户添加到 SQLAgentUser 角色中。在 msdb 数据库上运行以下命令。

EXEC sp_addrolemember <SQLAgentRole>, <user_name>;

在上例中,将 <SQLAgentRole> 占位符替换为 SQL Server Agent 角色的名称。然后,将 <user_name> 占位符替换为您之前授予其所需权限的用户名。有关更多信息,请参阅 Amazon RDS 用户指南中的向 SQLAgentUser 角色添加用户

要检测日志传输,请在 msdb 数据库上授予 SELECT on dbo.log_shipping_primary_databases 权限。

要使用数据定义语言(DDL)复制的通知方法,请在源数据库上授予 RECEIVE ON <schema_name>.<queue_name> 权限。在本例中,将 <schema_name> 占位符替换为数据库的架构名称。然后,将 <queue_name> 占位符替换为队列表的名称。