anchor.diff:  Here, the _literal type_ describes how the value is literally represented using Kafka Connect schema types, namely `INT8`, `INT16`, `INT32`, `INT64`, `FLOAT32`, `FLOAT64`, `BOOLEAN`, `STRING`, `BYTES`, `ARRAY`, `MAP`, and `STRUCT`.
   The _semantic type_ describes how the Kafka Connect schema captures the _meaning_ of the field using the name of the Kafka Connect schema for the field.
   
  -[cols="20%a,15%a,30%a,35%a"]
  -|===
  -|SQL Server Data Type
  +[cols="30%a,25%a,45%a",options="header"]
  +|===
  +|SQL Server data type
   |Literal type (schema type)
  -|Semantic type (schema name)
  -|Notes
  +|Semantic type (schema name) and Notes
   
   |`BIT`
   |`BOOLEAN`
   |n/a
  -|
   
   |`TINYINT`
   |`INT16`
   |n/a
  -|
   
   |`SMALLINT`
   |`INT16`
   |n/a
  -|
   
   |`INT`
   |`INT32`
   |n/a
  -|
   
   |`BIGINT`
   |`INT64`
   |n/a
  -|
   
   |`REAL`
   |`FLOAT32`
   |n/a
  -|
   
   |`FLOAT[(N)]`
   |`FLOAT64`
   |n/a
  -|
   
   |`CHAR[(N)]`
   |`STRING`
   |n/a
  -|
   
   |`VARCHAR[(N)]`
   |`STRING`
   |n/a
  -|
   
   |`TEXT`
   |`STRING`
   |n/a
  -|
   
   |`NCHAR[(N)]`
   |`STRING`
   |n/a
  -|
   
   |`NVARCHAR[(N)]`
   |`STRING`
   |n/a
  -|
   
   |`NTEXT`
   |`STRING`
   |n/a
  -|
   
   |`XML`
   |`STRING`
  -|`io.debezium.data.Xml`
  -|Contains the string representation of a XML document
  +|`io.debezium.data.Xml` +
  + +
  +Contains the string representation of an XML document
   
   |`DATETIMEOFFSET[(P)]`
   |`STRING`
  -|`io.debezium.time.ZonedTimestamp`
  -| A string representation of a timestamp with timezone information, where the timezone is GMT
  +|`io.debezium.time.ZonedTimestamp` +
  + +
  +A string representation of a timestamp with timezone information, where the timezone is GMT
   
   |===
   
  
positive.code: [source,json]
  ----
  {
    "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>
    }
  }
  ----
  
negative.code: data mirroring.
  For `read_uncommitted` there are no data consistency guarantees at all (some data might be lost or corrupted).
  
  |[[sqlserver-property-source-timestamp-mode]]<<sqlserver-property-source-timestamp-mode, `source.timestamp{zwsp}.mode`>>
  |_commit_
  |String representing the criteria of the attached timestamp within the source record (ts_ms).
  `commit` will set the source timestamp to the instant where the record was committed in the database (default and current behavior).
  `processing` will set the source timestamp to the instant where the record was processed by {prodname}. This option could be used when either we want to set the top level `ts_ms` value here or when we want to skip the query to extract the timestamp of that LSN.
  
  |[[sqlserver-property-event-processing-failure-handling-mode]]<<sqlserver-property-event-processing-failure-handling-mode, `event.processing{zwsp}.failure.handling{zwsp}.mode`>>
  |`fail`
  | Specifies how the connector should react to exceptions during processing of events.
  `fail` will propagate the exception (indicating the offset of the problematic event), causing the connector to stop. +
  