You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS DMS配置Babelfish为目标端点时用户无建表权限报错

AWS DMS连接Babelfish目标端点报建表权限缺失的解决方案

问题报错

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

根因说明

你当前的配置存在明确的权限遗漏,是导致报错的直接原因:

  • 你仅为dms_user授予了数据库内已有表的DML操作权限(SELECT、DELETE、INSERT、REFERENCES、UPDATE),未授予创建表所需的DDL权限。AWS DMS在端点初始化、执行全量迁移阶段,要么需要自动创建迁移目标表,要么会创建内部使用的元数据表,必须持有CREATE TABLE权限才能完成流程。
  • 你未给用户配置目标schema的操作权限。Babelfish的T-SQL权限模型下,新创建的用户默认没有默认schema(通常是dbo)的ALTER权限,即便授予了数据库级CREATE TABLE权限,没有schema的ALTER权限依然无法完成建表操作。

修复步骤

通过1433端口连接Babelfish实例,切换到database_test数据库后执行以下授权语句:

USE database_test
GO
-- 授予数据库级建表权限
GRANT CREATE TABLE TO dms_user;
GO
-- 授予dbo schema的修改权限,允许用户在schema下创建对象
GRANT ALTER ON SCHEMA :: dbo TO dms_user;
GO
-- 补充DMS迁移所需的其他DDL权限,用于自动创建索引、外键约束
GRANT CREATE INDEX TO dms_user;
GRANT CREATE REFERENCES TO dms_user;
GO

额外校验项

完成授权后重新测试端点连接,如果依然失败可逐一核对以下配置:

  • 确认DMS端点配置中填写的数据库名称为你创建的database_test,而非Babelfish默认的系统库
  • 确认DMS端点的连接端口为Babelfish的TDS端口1433,而非PostgreSQL原生端口5432
  • 确认DMS配置中填写的账号密码与创建LOGIN时设置的凭据完全一致,Babelfish的SQL认证默认对密码大小写敏感
  • 若你选择提前手动在目标库建表、关闭DMS的自动建表功能,仍需保留CREATE TABLE权限——多数版本的DMS会在初始化阶段创建内部元数据表,无该权限依然无法通过连接测试。

内容的提问来源于stack exchange,提问作者João Neto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 15:51:18