Microsoft SQL Server Configuration Properties

Important

This connector is no longer available or supported by Confluent. Please use the Debezium SQL Server Source Connector.

To use this connector, specify the name of the connector class in the connector.class configuration property.

connector.class=io.confluent.connect.cdc.mssql.MsSqlSourceConnector

Connector-specific configuration properties are described below.

Confluent Platform

confluent.license

Confluent issues enterprise license keys to each subscriber. The license key is text that you can copy and paste as the value for confluent.license. A trial license allows using the connector for a 30-day trial period. A developer license allows using the connector indefinitely for single-broker development environments.

If you are a subscriber, please contact Confluent Support for more information.

  • Type: string
  • Default: “”
  • Valid Values: Confluent Platform license
  • Importance: high

License topic configuration

A Confluent enterprise license is stored in the _confluent-command topic. This topic is created by default and contains the license that corresponds to the license key supplied through the confluent.license property.

Note

No public keys are stored in Kafka topics.

The following describes how the default _confluent-command topic is generated under different scenarios:

  • A 30-day trial license is automatically generated for the _confluent command topic if you do not add the confluent.license property or leave this property empty (for example, confluent.license=).
  • Adding a valid license key (for example, confluent.license=<valid-license-key>) adds a valid license in the _confluent-command topic.

Here is an example of the minimal properties for development and testing.

You can change the name of the _confluent-command topic using the confluent.topic property (for instance, if your environment has strict naming conventions). The example below shows this change and the configured Kafka bootstrap server.

confluent.topic=foo_confluent-command
confluent.topic.bootstrap.servers=localhost:9092

The example above shows the minimally required bootstrap server property that you can use for development and testing. For a production environment, you add the normal producer, consumer, and topic configuration properties to the connector properties, prefixed with confluent.topic..

Database Connection

initial.database

The initial database to connect to.

  • Type: String
  • Importance: High
password

JDBC Password to connect to the database with.

  • Type: Password
  • Importance: High
server.name

The database server to connect to.

  • Type: String
  • Importance: High
server.port

The port on the database server to connect to.

  • Type: Int
  • Importance: High
username

JDBC Username to connect to the database with.

  • Type: String
  • Importance: High
change.tracking.tables

The tables in the source database to monitor for changes. If no tables are specified the [sys].[change_tracking_tables] view is queried for all of the available tables with change tracking enabled.

  • Type: List
  • Importance: Medium
  • Default Value: []
jdbc.pool.max.idle

The maximum number of idle connections in the connection pool.

  • Type: Int
  • Importance: Medium
  • Default Value: 10
jdbc.pool.max.total

The maximum number of connections for the connection pool to open. If a number greater than this value is requested, the caller will block waiting for a connection to be returned. This setting is shared across all of the tasks for a given database.

  • Type: Int
  • Importance: Medium
  • Default Value: 30
jdbc.pool.min.idle

The minimum number of idle connections in the connection pool.

  • Type: Int
  • Importance: Medium
  • Default Value: 3
instance.name

The instance name for the SQL Server we are connecting to.

  • Type: String
  • Importance: Low
multi.subnet.failover.enabled

Flag to enable the multisubnet failover option.

  • Type: Boolean
  • Importance: Low
  • Default Value: false

Schema

schema.key.name.format

Format used to generate the name for the key schema. The following template variables are available for string replacement. ${databaseName}, ${schemaName}, ${tableName}, ${namespace}

  • Type: String
  • Importance: High
  • Default Value: ${namespace}.${tableName}Key
schema.namespace.format

The namespace for the schemas generated by the connector. The format in this setting will be used to create the ${namespace}variable which is available for use in the other configuration templates. The following template variables are available for string replacement. ${databaseName}, ${schemaName}, ${tableName}, ${namespace}

  • Type: String
  • Importance: High
  • Default Value: com.example.data.${databaseName}
schema.value.name.format

Format used to generate the name for the value schema. The following template variables are available for string replacement. ${databaseName}, ${schemaName}, ${tableName}, ${namespace}

  • Type: String
  • Importance: High
  • Default Value: ${namespace}.${tableName}Value
schema.cache.ms

The number of milliseconds to cache key and value schema metadata in memory.

  • Type: Int
  • Importance: Low
  • Default Value: 300000
  • Valid Values: [60000,…]
schema.caseformat.column.name

This setting is used to control how the column names are cased when the resulting schemas are generated.

  • Type: String
  • Importance: Low
  • Default Value: UPPER_UNDERSCORE
  • Valid Values: LOWER_HYPHEN, LOWER_UNDERSCORE, LOWER_CAMEL, LOWER, UPPER_CAMEL, UPPER_UNDERSCORE, UPPER, NONE
schema.caseformat.database.name

This setting is used to control how the ${databaseName} variable is cased when it is passed to the formatters defined in the schema.namespace.format, schema.key.name.format, schema.value.name.format, topicFormat.format settings. This allows you to control the naming applied to these properties. For example this can be used to take a database name of USER_TRACKING to a more java like case of userTracking or all lowercase usertracking.

  • Type: String
  • Importance: Low
  • Default Value: UPPER_UNDERSCORE
  • Valid Values: LOWER_HYPHEN, LOWER_UNDERSCORE, LOWER_CAMEL, LOWER, UPPER_CAMEL, UPPER_UNDERSCORE, UPPER, NONE
schema.caseformat.input

The naming convention used by the database format. This is used to define the source naming convention used by the other schema.caseformat.* properties.

  • Type: String
  • Importance: Low
  • Default Value: UPPER_UNDERSCORE
  • Valid Values: LOWER_HYPHEN, LOWER_UNDERSCORE, LOWER_CAMEL, UPPER_CAMEL, UPPER_UNDERSCORE
schema.caseformat.schema.name

This setting is used to control how the ${schemaName} variable is cased when it is passed to the formatters defined in the schema.namespace.format, schema.key.name.format, schema.value.name.format, topicFormat.format settings. This allows you to control the naming applied to these properties. For example this can be used to take a schema name of SCOTT to a more java like case of Scott or all lowercase scott.

  • Type: String
  • Importance: Low
  • Default Value: UPPER_UNDERSCORE
  • Valid Values: LOWER_HYPHEN, LOWER_UNDERSCORE, LOWER_CAMEL, LOWER, UPPER_CAMEL, UPPER_UNDERSCORE, UPPER, NONE
schema.caseformat.table.name

This setting is used to control how the ${tableName} variable is cased when it is passed to the formatters defined in the schema.namespace.format, schema.key.name.format, schema.value.name.format, topicFormat.format settings. This allows you to control the naming applied to these properties. For example this can be used to take a table name of USER_SETTING to a more java like case of UserSetting or all lowercase usersetting.

  • Type: String
  • Importance: Low
  • Default Value: UPPER_UNDERSCORE
  • Valid Values: LOWER_HYPHEN, LOWER_UNDERSCORE, LOWER_CAMEL, LOWER, UPPER_CAMEL, UPPER_UNDERSCORE, UPPER, NONE

Source Database

backoff.time.ms

The number of milliseconds to backoff when no records are returned from the source database.

  • Type: Int
  • Importance: Low
  • Default Value: 1000
  • Valid Values: [50,…]

Target

topicFormat.format

The format that will be used to build the topic name. This allows database tables to be broken up across several topics. The following template variables can be used for string replacements. ${databaseName}, ${schemaName}, ${tableName}, ${namespace}

  • Type: String
  • Importance: High
  • Default Value: ${databaseName}.${tableName}
batch.size

The target number of records to return during each poll from the Connect framework. This setting is independent from the general producer setting batch.size

  • Type: Int
  • Importance: Low
  • Default Value: 512
  • Valid Values: [1,…]
uncomitted.record.max

The maximum number of records to allow in memory. Once this limit is reached the record deque will block to prevent running out of memory.

  • Type: Int
  • Importance: Low
  • Default Value: 50000
  • Valid Values: [100,…]
uncomitted.record.timeout.ms

The maximum amount of time to wait when writing to the deque before throwing a timeout exception.

  • Type: Long
  • Importance: Low
  • Default Value: 300000
  • Valid Values: [100,…]