成功创建 Always On SQL Server 快照后,Debezium 未跟踪 CDC

Posted

技术标签:

【中文标题】成功创建 Always On SQL Server 快照后,Debezium 未跟踪 CDC【英文标题】:Debezium not tracking CDC after successful snapshot of Always On SQL Server 【发布时间】:2022-01-06 06:30:39 【问题描述】:

我们有一个 Always On SQL Server 实例。我想使用 Debezium 跟踪某些表上的 CDC 事件。通过遵循 debezium 网站上的官方教程,我注册了一个具有以下属性的连接器:


    "name": "debezium-alwayson-connector",
    "config": 
        "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector",
        "database.hostname": "<ip-address>",
        "database.port": "1433",
        "database.user": "<username>",
        "database.password": "<password>",
        "database.dbname": "<db_name>",
        "database.server.name": "<server_name>",
        "table.include.list": "dbo.<table_name>",
        "database.history.kafka.bootstrap.servers": "kafka:9092",
        "database.history.kafka.topic": "dbhistory.alwayson",
        "tombstones.on.delete":"false",
        "transforms":"Reroute",
        "transforms.Reroute.type":"io.debezium.transforms.ByLogicalTableRouter",
        "transforms.Reroute.topic.regex":"(.*)",
        "transforms.Reroute.topic.replacement":"cdc_landing.$1",
        "database.applicationIntent": "ReadOnly"
    

这里的问题是,debezium 成功地将表快照到相关的 Kafka 主题,但在快照后不跟踪 cdc 事件。有人知道吗?

【问题讨论】:

【参考方案1】:

通过Dude0001的回答,我们发现我们没有执行该SQL命令的权限。对于遇到此类问题的人,请检查您是否拥有正确的权限。 重要提示:在 debezium 的 source code 中声明引用的 SQL 命令没有被使用,但由于我们使用的是 1.7 版本,debezium 试图执行该命令并失败。

【讨论】:

以上是关于成功创建 Always On SQL Server 快照后,Debezium 未跟踪 CDC的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server Always on Clustering,无法创建侦听器

Configure Always On Availability Group for SQL Server on RHEL——Red Hat Enterprise Linux上配置SQL Server

SQL Server 高可用(always on)配置指南之节点配置

Configure Always On Availability Group for SQL Server on Ubuntu

SQL Server Always On 可用性组卡在“同步/恢复中”

在 SQL Server Always ON 配置中 - 将事务日志备份到 Nul 会中断 Always On 配置吗?