数据传输服务DTS(Data Transmission Service)支持将SQL Server同步至云原生数据仓库AnalyticDB PostgreSQL,帮助您轻松实现数据的流转,集中分析企业数据。
前提条件
- 创建RDS SQL Server实例(SQL Server 2008 R2、2012、2016或2017版本)。
- 创建云原生数据仓库AnalyticDB PostgreSQL实例。
- RDS SQL Server实例中待同步的表需具备主键。
- 云原生数据仓库AnalyticDB PostgreSQL实例中同步的目标表需具备主键或唯一索引。
注意事项
- DTS在执行全量数据迁移时将占用源库和目标库一定的读写资源,可能会导致数据库的负载上升,在数据库性能较差、规格较低或业务量较大的情况下(例如源库有大量慢SQL、存在无主键表或目标库存在死锁等),可能会加重数据库压力,甚至导致数据库服务不可用。因此您需要在执行数据迁移前评估源库和目标库的性能,同时建议您在业务低峰期执行数据迁移(例如源库和目标库的CPU负载在30%以下)。
- 为保障数据同步延迟显示的准确性,DTS会在源库中新增一张心跳表(名称为
dts_log_heart_beat
)。 - 此场景中,DTS支持初始化的结构为Schema、Table、View、Function和Procedure。
警告 由于此场景属于异构数据库间的数据同步,数据类型无法一一对应,请谨慎评估数据类型的映射关系对业务的影响,详情请参见结构初始化涉及的数据类型映射关系。
功能限制
- 仅支持同步DML操作(INSERT、UPDATE、DELETE),不支持同步DDL操作。在数据同步的过程中,如果源表发生结构修改(例如ADD COLUMN),将导致数据同步失败。
说明 如遇此类情况,您需要将目标表的结构调整同源表一致,然后重新启动该同步作业。
- 不支持同步数据类型为TIMESTAMP、CURSOR、ROWVERSION、HIERACHYID、SQL_VARIANT、SPATIAL GEOMETRY、SPATIAL GEOGRAPHY、TABLE的数据。
数据库账号的权限要求
数据库 | 所需权限 | 授权方法 |
---|---|---|
RDS SQL Server实例 | 待同步数据库的所有者权限。 | 修改账号权限 |
云原生数据仓库AnalyticDB PostgreSQL实例 |
说明 您也可以使用云原生数据仓库AnalyticDB PostgreSQL实例的初始账号。
|
用户权限管理 |
操作步骤
常见问题
Q:如何在云原生数据仓库AnalyticDB PostgreSQL找到同步的目标表?
A:DTS的结构初始化会遵循源库的结构将其同步至目标库。本案例中,您可以在目标实例的
dtstestdata
数据库的dbo
Schema中,找到customer
表和Student
表,如下图所示。