使用 AWS DMS SQL Server 源数据库,如何配置 1 个表的迁移任务?

问题描述 投票:0回答:1

我正在尝试为选定数量 (12) 个表设置从 Windows 2022 EC2 实例上的 SQL Server 2019 到 AWS RDS Oracle 19 实例的 AWS DMS 迁移。

我使用适当的数据库架构名称为 SQL Server 创建了一个 DMS 源端点,这似乎测试正常。

我使用复制实例尝试了无服务器和迁移任务,但收到此错误:

任务初始化时未找到表。要么是选择的 表或模式不再存在或找不到匹配项 表格选择模式。

我在SSMS中验证了架构名称和表名称是正确的。

在选择规则中,我尝试在源架构名称字段中使用实际架构名称,并尝试了“dbo”。我在“表名称”字段中输入了 1 个表名称 (AP_Vendor)。我尝试了 %AP_Vendor,以防它一开始就在寻找其他东西。但似乎没有任何组合有效。

任务似乎开始正常,但根据我的输入,它没有返回任何要迁移的表。

有人可以告诉我在模式和表名称字段中放置什么吗?实际的架构名称?大写还是小写重要吗?表名称字段中的 dbo.AP_Vendor?

我还没有在 AWS 兔子洞中找到专门针对 SQL Server 作为源数据库的示例。

sql-server amazon-web-services aws-dms
1个回答
0
投票

我应该提到,我这样做是因为 AWS RDS Oracle 不允许您在 Oracle 服务器实例上设置 ODBC,这会阻止您创建到 SQL Server 数据库数据库链接。相反,我使用 AWS DMS,将几个必要的表从 SQL Server 数据库复制到 RDS oracle 数据库上的单独用户架构,并修改存储过程和函数以使用这些复制的表。

最终,我让 DMS 复制正常工作。

在 DMS 设置中,我配置了调试 Cloudwatch 日志,并在日志中发现了 AWS 文档中未提及的问题。(不要忘记稍后将其关闭...)

我最终设置了自己的复制实例dms.t2.micro),并创建了自己的迁移任务。这使得您进行更改时的周转时间更快(2 分钟)。对于任何微小的更改,Serverless 设置都需要 20 分钟。它还允许您测试源/目标端点是否设置正确。我还必须将并行表选项配置为仅 1 个表,因为它在我的小型复制实例中内存不足。

  • 它要求源用户具有 sysadmin 角色。在 SSMS SQL 查询中:

    更改服务器角色 [系统管理员] 添加成员 [DMS_USER]

  • 该文档明确提到需要在源 SQL Server 中设置“分发服务器”。事实证明这是一个要求。他们应该提请注意这一步。虽然设置很容易:

    在SSMS中,鼠标右键单击“复制”,选择“分发服务器属性...”,然后创建一个。我在 D: 驱动器上设置了一个单独的文件夹共享 D:\Snapshots,希望不会填满 C: 驱动器。我从未在这个文件夹中看到过任何内容,所以也许这没什么好担心的。

迁移任务中,源架构只是“dbo”(实际架构在源端点中设置),并确保使用 SSMS 中显示的表名称正确的大写

将 1 个表复制到 RDS Oracle 数据库后,我在“迁移任务”中输入了几个“选择规则”,以获取需要在 2 个数据库之间保持同步的 12 个表。 它就像一个魅力!我验证了对源数据库(会计)中的复制表的更改已对我的目标数据库进行。

最终我可能会转向无服务器选项,因为它会自动“调整”幕后复制实例的大小。但就目前而言,这将是最具成本效益的方法。

© www.soinside.com 2019 - 2024. All rights reserved.