开启SQLServer CDC后,数据集成可以监控获取SQLServer上表的插入、更新和删除等活动的日志,并转化为实时消息进入同步流程,实现对SQLServer的实时同步。

前提条件

配置SQLServer CDC输入前,您需要先开启CDC。
-- ====
-- Enable Database for CDC template ,databaseName:MyDB
-- ====
USE MyDB
GO
EXEC sys.sp_cdc_enable_db
GO

SQL Server CDC支持列表

阿里云RDS SQL Server各版本对CDC功能的支持情况如下所示:
系列 版本 支持性(是/否)
集群系列 2019企业版
2017企业版
高可用系列 2019标准版
2017标准版
2016标准版
2016企业版
2014标准版
2012标准版
2012企业版
2008 R2
基础系列 2016企业版
2012企业版(单机)
标准系列 SQL Server 2016
SQL Server 2012
Web系列 所有版本
  1. 进入数据开发页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发
  2. 鼠标悬停至新建图标,单击数据集成 > 实时同步
    您也可以展开目标业务流程,右键单击 数据集成,选择 新建 > 实时同步
  3. 新建节点对话框中,选择同步方式单表(Topic)到单表(Topic)ETL,输入节点名称并选择目标文件夹
    新建节点
    说明 节点名称必须是大小写字母、中文、数字、下划线(_)以及英文句号(.),且不能超过128个字符。
  4. 单击提交
  5. 在实时同步节点的编辑页面,单击输入 > SqlServer并拖拽至编辑面板。
  6. 单击SqlServer节点,在节点配置对话框中,配置各项参数。
    SQLServer
    参数 描述
    数据源 选择已经配置好的SQLServer数据源,此处仅支持SQLServer数据源。

    如果未配置数据源,请单击右侧的新建数据源,进入数据源管理页面进行新建。

    选择当前数据源下需要同步的表名称。您可以单击右侧的数据预览进行确认。
    您可以实现分库分表的场景,配置的库和表会在该任务中同时进行实时同步。
    注意 分库分表中的数据表的Schema请保持一致,以避免执行报错。
    输出字段 选择需要同步的字段,包括管理字段数据字段
    • 管理字段:为方便进行数据管理、排序和去重等操作,会在同步的目标端自动添加附加字段。
    • 数据字段:显示要同步的原始表中对应的字段。

    详情请参见实时同步字段格式

    SQLServer CDC节点支持分库分表,您可以单击 添加分库分表数据源,从下拉列表中选择相应的 数据源,添加多个数据源,同时进行同步。
    注意 所选表的Schema需要保持一致,否则执行会报错。
  7. 单击工具栏中的图标