anchor.diff:  [source,json]
   ----
   {
  -  "name": "inventory-connector", <1>
  +  "name": "inventory-connector", // <1>
     "config": {
  -    "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector", <2>
  -    "database.hostname": "192.168.99.100", <3>
  -    "database.port": "1433", <4>
  -    "database.user": "sa", <5>
  -    "database.password": "Password!", <6>
  -    "database.dbname": "testDB", <7>
  -    "database.server.name": "fullfillment", <8>
  -    "table.include.list": "dbo.customers", <9>
  -    "database.history.kafka.bootstrap.servers": "kafka:9092", <10>
  -    "database.history.kafka.topic": "dbhistory.fullfillment" <11>
  +    "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector", // <2>
  +    "database.hostname": "192.168.99.100", // <3>
  +    "database.port": "1433", // <4>
  +    "database.user": "sa", // <5>
  +    "database.password": "Password!", // <6>
  +    "database.dbname": "testDB", // <7>
  +    "database.server.name": "fullfillment", // <8>
  +    "table.include.list": "dbo.customers", // <9>
  +    "database.history.kafka.bootstrap.servers": "kafka:9092", // <10>
  +    "database.history.kafka.topic": "dbhistory.fullfillment" // <11>
     }
   }
   ----
  
positive.code: 
  Note: Depending on the `_hashAlgorithm_` used, the `_salt_` selected and the actual data set, the resulting masked data set may not be completely anonymized.
  
  |[[sqlserver-property-time-precision-mode]]<<sqlserver-property-time-precision-mode, `time.precision.mode`>>
  |`adaptive`
  | Time, date, and timestamps can be represented with different kinds of precision, including: `adaptive` (the default) captures the time and timestamp values exactly as in the database using either millisecond, microsecond, or nanosecond precision values based on the database column's type; or `connect` always represents time and timestamp values using Kafka Connect's built-in representations for Time, Date, and Timestamp, which uses millisecond precision regardless of the database columns' precision. See {link-prefix}:{link-sqlserver-connector}#sqlserver-temporal-values[temporal values].
  
  |[[sqlserver-property-include-schema-changes]]<<sqlserver-property-include-schema-changes, `include.schema.changes`>>
  |`true`
  |Boolean value that specifies whether the connector should publish changes in the database schema to a Kafka topic with the same name as the database server ID. Each schema change is recorded with a key that contains the database name and a value that is a JSON structure that describes the schema update. This is independent of how the connector internally records database history. The default is `true`.
  
  |[[sqlserver-property-tombstones-on-delete]]<<sqlserver-property-tombstones-on-delete, `tombstones.on.delete`>>
  |`true`
  | Controls whether a tombstone event should be generated after a delete event. +
  When `true` the delete operations are represented by a delete event and a subsequent tombstone event. When `false` only a delete event is sent. +
  Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.
  
  |[[sqlserver-property-column-truncate-to-length-chars]]<<sqlserver-property-column-truncate-to-length-chars, `column.truncate.to._length_.chars`>>
  |_n/a_
  |An optional comma-separated list of regular expressions that match the fully-qualified names of character-based columns whose values should be truncated in the change event message values if the field values are longer than the specified number of characters. Multiple properties with different lengths can be used in a single configuration, although in each the length must be a positive integer. Fully-qualified names for columns are of the form _schemaName_._tableName_._columnName_.
  
  |[[sqlserver-property-column-mask-with-length-chars]]<<sqlserver-property-column-mask-with-length-chars, `column.mask.with._length_.chars`>>
  |_n/a_
  |An optional comma-separated list of regular expressions that match the fully-qualified names of character-based columns whose values should be replaced in the change event message values with a field value consisting of the specified number of asterisk (`*`) characters. Multiple properties with different lengths can be used in a single configuration, although in each the length must be a positive integer or zero. Fully-qualified names for columns are of the form _schemaName_._tableName_._columnName_.
  
  |[[sqlserver-property-column-propagate-source-type]]<<sqlserver-property-column-propagate-source-type, `column.propagate.source.type`>>
  |_n/a_
  |An optional comma-separated list of regular expressions that match the fully-qualified names of columns whose original type and length should be added as a parameter to the corresponding field schemas in the emitted change messages.
  The schema parameters `pass:[_]pass:[_]debezium.source.column.type`, `pass:[_]pass:[_]debezium.source.column.length` and `pass:[_]pass:[_]debezium.source.column.scale` is used to propagate the original type name and length (for variable-width types), respectively.
  Useful to properly size corresponding columns in sink databases.
  Fully-qualified names for columns are of the form _schemaName_._tableName_._columnName_.
  
  |[[sqlserver-property-datatype-propagate-source-type]]<<sqlserver-property-datatype-propagate-source-type,`datatype.propagate.source.type`>>
  |_n/a_
  |An optional comma-separated list of regular expressions that match the database-specific data type name of columns whose original type and length should be added as a parameter to the corresponding field schemas in the emitted change messages.
  The schema parameters `pass:[_]pass:[_]debezium.source.column.type`, `pass:[_]pass:[_]debezium.source.column.length` and `pass:[_]pass:[_]debezium.source.column.scale` will be used to propagate the original type name and length (for variable-width types), respectively.
  
negative.code: 
  ==== Decimal values
  
  [cols="30%a,17%a,53%a",options="header"]
  |===
  |SQL Server data type
  |Literal type (schema type)
  |Semantic type (schema name)
  
  |`NUMERIC[(P[,S])]`
  |`BYTES`
  |`org.apache.kafka.connect.data.Decimal` 
  
  |`DECIMAL[(P[,S])]`
  |`BYTES`
  |`org.apache.kafka.connect.data.Decimal` 
  
  |`SMALLMONEY`
  |`BYTES`
  |`org.apache.kafka.connect.data.Decimal`
  
  |`MONEY`
  |`BYTES`
  |`org.apache.kafka.connect.data.Decimal`
  
  |===
  
  The `scale` schema parameter contains an integer that represents how many digits the decimal point was shifted.
  The `connect.decimal.precision` schema parameter contains an integer that represents the precision of the given decimal value.
  
  [[sqlserver-deploying-a-connector]]
  == Deployment
  