在 AWS DMS 中使用 babelfish 作为目标终端节点时,用户没有创建表权限

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

我正在尝试使用 babelfish 功能将一些数据从 SQL Server 迁移到 AWS Aurora (Postgres)。它最近被添加为 AWS DMS 服务中的目标。但是,连接测试失败并显示以下消息:

Test Endpoint failed: Application-Status: 1020912, Application-Message: User does not have to create table permission  Endpoint initialization failed.

我所做的是遵循 babelfish 目标文档,其中建议了权限设置的步骤(连接到 1433 端口)。

  1. 创建连接到服务器时使用的登录名和密码。
  2. 为您的 Babelfish 集群创建虚拟数据库。
  3. 为您的目标数据库创建 T-SQL 用户。
  4. 对于 Babelfish 数据库中的每个表,授予对表的权限。
CREATE LOGIN dms_user WITH PASSWORD = 'experiments';
GO

CREATE DATABASE database_test;
GO

USE database_test
GO
CREATE USER dms_user FOR LOGIN dms_user
GO

之后,我为

database_test
数据库中的每个表应用 SELECT、DELETE、INSERT、REFERENCES、UPDATE 授权。这是我的 babelfish 端点的设置:

enter image description here

我错过了什么吗?为什么我的用户在完成步骤 3 后没有

create table
权限?

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

如果有人正在寻找解决方案,这就是对我有用的解决方案。 您需要使用 Postgres 端点将数据加载到 Babelfish 中。

只需连接到 Babelfish 的 Postgres enpoint 并查看 babelfish_db 数据库的架构。您需要创建 AWS DMS 任务 2 条规则,其中将添加:

  • 将目标模式转换为小写
  • 向架构添加前缀:your_db_name_ -> 末尾的“_”很重要。\

希望这对您有用。

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