本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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>;
在上例中,将 占位符替换为 SQL Server Agent 角色的名称。然后,将 <SQLAgentRole> 占位符替换为您之前授予其所需权限的用户名。有关更多信息,请参阅 Amazon RDS 用户指南中的向 SQLAgentUser 角色添加用户。<user_name>
要检测日志传输,请在 msdb 数据库上授予 SELECT on dbo.log_shipping_primary_databases 权限。
要使用数据定义语言(DDL)复制的通知方法,请在源数据库上授予 RECEIVE ON 权限。在本例中,将 <schema_name>.<queue_name> 占位符替换为数据库的架构名称。然后,将 <schema_name> 占位符替换为队列表的名称。<queue_name>