View a markdown version of this page

使用 Microsoft SQL Server 数据库作为 DMS 架构转换的源 - AWS Database Migration Service

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

使用 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> 占位符替换为队列表的名称。