Microsoft SQL Server CDC

You can configure Microsoft SQL Server CDC only as a source. The parameters are described in the table in Microsoft SQL Server CDC Source Parameters.

For message headers, see Microsoft SQL Server CDC Message Headers.

Microsoft SQL Server CDC Source Parameters

The following table describes the parameters for configuring Microsoft SQL Server as a source.

Field Description
Checkpoint Store Configuration
Checkpoint Queue The name of the Last Value Queue (LVQ) on the PubSub+ event broker to use for checkpointing. The LVQ stores information about the files that have been processed and the files that are currently being processed. The LVQ must exist on the same event broker and VPN as the target destination.
Auto Create Checkpoint Queue Select to automatically create the LVQ if it does not exist.
Debezium SQL Server Configuration Properties
Destination The name of the table, including the schema name. Specify the destination using the <schemaName>.<tableName> format.
Database Hostname The hostname of the Microsoft SQL Server database server.
Database Port The port of the Microsoft SQL Server database server.
Database Instance The name of the Microsoft SQL Server instance.
Database Name The name of the Microsoft SQL Server database.
Skip Delete Events Select to skip the processing of delete events from the database change stream.
Authentication

Not editable. Pre-populates to Basic Authentication.

Basic Authentication
Username The username to use for logging in to Microsoft SQL Server.
Password The password use for authenticating with the Microsoft SQL Server database.
Additional Properties

Additional properties for the SQL Server database.

(Optional) Any additional configuration related to Microsoft SQL Server. Click Add Context if you need to specify additional context properties. For more information, see Additional Properties.

Additional Properties

The following table lists some important additional properties that are available. For details about all the available properties, see the documentation for the Debezium SQL Server Component of Apache Camel.

Field Description
topicPrefix

A logical namespace for the Microsoft SQL Server database server or cluster. The topicPrefix is an internal identifier that helps distinguish between different Microsoft SQL Server sources when multiple connectors are running. It must contain only alphanumeric characters, hyphens, dots, and underscores. If not configured, it defaults to the binding name.

The topicPrefix does not become an SMF topic.

snapshotMode

The criteria for running a snapshot upon startup of the connector. The allowed values are:

  • initial—The default. Takes a snapshot on first startup, then streams changes.

  • always —Performs snapshot on every connector start.

  • initial_only—Takes a snapshot but doesn't transition to streaming.

  • no_data—Schema structure only, no data.

  • never—Never takes snapshots.

  • recovery —Takes snapshot when no offsets are available.

  • when_needed—Takes a snapshot when the connector determines it's needed.

  • configuration_based—Uses connector-specific configuration.

  • custom—Uses a custom snapshotter implementation.

skippedOperations

A comma-separated list of operations to skip during streaming. The allowed values are: 

  • c—Skip create/insert operations.

  • u—Skip update operations.

  • d—Skip delete operations.

  • t—Skip truncate operations (default).

  • none—Skip nothing (process all operations).

For example, skippedOperations=t,d indicates to skip truncations and deletions.

tombstonesOnDelete Indicates whether delete operations should be represented by a delete event and a subsequent tombstone event. When tombstonesOnDelete=true, a delete operation generates two events: a delete event and a subsequent tombstone event (key with null value). This allows message brokers with log compaction to completely remove all events for a deleted row's key.
timePrecisionMode

Times, dates, and timestamps can be represented with different kinds of precision, including:

  • adaptive—The default. Captures time and timestamp values exactly as in the database using millisecond, microsecond, or nanosecond precision values based on the database column's type.
  • adaptive_time_microseconds—Always uses microsecond precision for time fields.
  • connect—Always represents time and timestamp values using millisecond precision regardless of the database column's precision.
decimalHandlingMode

Specifies how decimal and numeric columns should be represented in change events. Valid options include:

  • precise—Represents numbers precisely in binary form using java.math.BigDecimal values.
  • double—Represents numbers using Java double values, which may result in a loss of precision but are easier to use.
  • string—Encodes numbers as formatted strings. Semantic information about the real type is lost.