Skip to main content
Version: 2.3.1

SqlServer CDC

SqlServer CDC source connector

Description​

The SqlServer CDC connector allows for reading snapshot data and incremental data from SqlServer database. This document describes how to setup the SqlServer CDC connector to run SQL queries against SqlServer databases.

Key features​

Options​

nametyperequireddefault value
hostnameStringYes-
portIntegerNo3306
usernameStringYes-
passwordStringYes-
database-nameStringYes-
table-nameStringYes-
startup.modeEnumNoINITIAL
startup.timestampLongNo-
startup.specific-offset.fileStringNo-
startup.specific-offset.posLongNo-
stop.modeEnumNoNEVER
stop.timestampLongNo-
stop.specific-offset.fileStringNo-
stop.specific-offset.posLongNo-
incremental.parallelismIntegerNo1
snapshot.split.sizeIntegerNo8096
snapshot.fetch.sizeIntegerNo1024
server-time-zoneStringNoUTC
connect.timeoutDurationNo30s
connect.max-retriesIntegerNo3
connection.pool.sizeIntegerNo20
chunk-key.even-distribution.factor.upper-boundDoubleNo1000
chunk-key.even-distribution.factor.lower-boundDoubleNo0.05
debezium.*configNo-
formatEnumNoDEFAULT
common-optionsno-

hostname [String]​

IP address or hostname of the database server.

port [Integer]​

Integer port number of the database server.

username [String]​

Name of the database to use when connecting to the database server.

password [String]​

Password to use when connecting to the database server.

database-name [String]​

Database name of the database to monitor.

table-name [String]​

Table name is a combination of schema name and table name (schemaName.tableName).

startup.mode [Enum]​

Optional startup mode for SqlServer CDC consumer, valid enumerations are "initial", "earliest", "latest" and "specific".

startup.timestamp [Long]​

Start from the specified epoch timestamp (in milliseconds).

Note, This option is required when the "startup.mode" option used 'timestamp'.

startup.specific-offset.file [String]​

Start from the specified binlog file name.

Note, This option is required when the "startup.mode" option used 'specific'.

startup.specific-offset.pos [Long]​

Start from the specified binlog file position.

Note, This option is required when the "startup.mode" option used 'specific'.

stop.mode [Enum]​

Optional stop mode for SqlServer CDC consumer, valid enumerations are "never".

stop.timestamp [Long]​

Stop from the specified epoch timestamp (in milliseconds).

Note, This option is required when the "stop.mode" option used 'timestamp'.

stop.specific-offset.file [String]​

Stop from the specified binlog file name.

Note, This option is required when the "stop.mode" option used 'specific'.

stop.specific-offset.pos [Long]​

Stop from the specified binlog file position.

Note, This option is required when the "stop.mode" option used 'specific'.

incremental.parallelism [Integer]​

The number of parallel readers in the incremental phase.

snapshot.split.size [Integer]​

The split size (number of rows) of table snapshot, captured tables are split into multiple splits when read the snapshot of table.

snapshot.fetch.size [Integer]​

The maximum fetch size for per poll when read table snapshot.

server-time-zone [String]​

The session time zone in database server.

connect.timeout [Duration]​

The maximum time that the connector should wait after trying to connect to the database server before timing out.

connect.max-retries [Integer]​

The max retry times that the connector should retry to build database server connection.

connection.pool.size [Integer]​

The connection pool size.

debezium [Config]​

Pass-through Debezium's properties to Debezium Embedded Engine which is used to capture data changes from SqlServer server.

See more about the Debezium's SqlServer Connector properties

format [Enum]​

Optional output format for SqlServer CDC, valid enumerations are "DEFAULT"、"COMPATIBLE_DEBEZIUM_JSON".

example​

source {
SqlServer-CDC {
debezium {
snapshot.mode = "never"
decimal.handling.mode = "double"
}
}
}

common options​

Source plugin common parameters, please refer to Source Common Options for details.

Example​

source {
SqlServer-CDC {
result_table_name = "customers"
hostname = "sqlserver-host"
port = "1433"
username = "sa"
password = "Password!"
database-name = "column_type_test"
table-name = "dbo.full_types"
}
}

Changelog​

next version​

  • Add SqlServer CDC Source Connector
  • [Doc] Add SqlServer CDC Source Connector document (3993)