各位老师,请问在flinkcdc中,sqlserver如何获取到ddl?

各位老师,请问在flinkcdc中,sqlserver如何获取到ddl?

展开
收起
游客3oewgrzrf6o5c 2022-07-19 15:59:33 510 分享 版权
阿里云 AI 助理回答

在Flink CDC中,针对SQL Server获取DDL的操作主要依赖于所采用的同步模式。根据提供的知识库资料,SQL Server到MySQL或PolarDB MySQL版的增量同步模式有几种,其中一种模式能够帮助捕获DDL语句,具体如下:

SQL Server DDL获取方式

  • 混合式日志解析(非堆表用日志解析增量同步,堆表用CDC增量同步)
    • 优点:此模式支持源库中的多种特殊场景,包括堆表、无主键表、压缩表及含计算列表等,并且链路稳定性较高。重要的是,该模式能拿到完整的DDL语句,因此DDL场景的支持较为丰富。
    • 实现细节:DTS服务会为此在源库中创建必要的辅助对象,如触发器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存储表dts_cdc_ddl_history,同时开启库级别和部分表的CDC功能。

这意味着,通过配置Flink CDC任务时选择上述增量同步模式,即可在同步过程中自动捕获并处理SQL Server的DDL变更,从而实现数据库结构的同步更新。

注意事项

  • 使用此模式时,DTS会在源库中创建的触发器和表是其正常运作的一部分,不应手动删除。
  • 对于开启了CDC的表,在源库上执行SELECT INTOTRUNCATE语句将不被支持。
  • 确保进行同步任务配置前,DTS服务的IP地址已添加至源库和目标库的安全设置中,以确保数据传输不受阻。

综上所述,要获取SQL Server中的DDL变更,应选择一个支持日志解析与CDC混合模式的同步策略,这将允许您捕捉到DDL操作并相应地应用到目标数据库系统中。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理