使用 AWS DMS 和 RDS 设置持续复制

Setting up Ongoing Replication using AWS DMS and RDS

我正在尝试使用 AWS Database Migration Service (DMS) 设置 "ongoing replication" 从 AWS RDS 托管的 SQL Server 2016 数据库到 EC2 托管的 SQL Server 2016 数据库.当我创建 DMS 任务来执行此操作时,出现错误:

2018-01-17T12:13:24 [SOURCE_CAPTURE ]E: RetCode: SQL_ERROR SqlState: 42000 NativeError: 21089 Message: [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Only members of the sysadmin fixed server role can perform this operation. Line: 1 Column: -1 [1022502] (ar_odbc_stmt.c:4406)

根据文档,用于连接的两个用户都必须是系统管理员。但是,无法使用 AWS RDS SQL 服务器数据库执行此操作,但 documentation 表明这是受支持的方案。我怎样才能让它工作?

您可以使用 Microsoft SQL 服务器作为 RDS 的复制源,但不能使用 SQL 服务器作为目标。

要设置复制,一侧是分发服务器,另一侧是订阅服务器。对于 RDS,您没有系统管理员权限,因此您无法设置分发。

Security Requirements for Replication

您可以使用 AWS Marketplace 上提供的 Cloudbasic 的 RDS SQL 服务器 HA/DR 工具实现此目的:https://aws.amazon.com/marketplace/pp/B00OU0PE5M

在与 RDS SQL 服务器源实例相同的 AWS VPC 中启动它。在新复制设置部分,确保 select SQL 服务器到 SQL 服务器复制(因为该工具还将数据从 SQL 服务器流式传输到 Redshift 和 S3 数据湖).