You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🎉 Source MSSQL: add option to disable initial snapshot and change snapshot isolation level (#12759)
* MSSQL CDC feature to capture only changes option added
* MSSQL CDC feature to capture only changes option added
* added option to disable snapshot
snapshot isolation setting is hardcode and I modified as user option
* recommitting
* docker version change
docker version change
* resolve conflict
* review 1 added
* review 1 added
* removed extra space
removed extra space
Copy file name to clipboardExpand all lines: airbyte-integrations/connectors/source-mssql/src/main/java/io/airbyte/integrations/source/mssql/MssqlCdcProperties.java
Copy file name to clipboardExpand all lines: airbyte-integrations/connectors/source-mssql/src/main/java/io/airbyte/integrations/source/mssql/MssqlSource.java
Copy file name to clipboardExpand all lines: airbyte-integrations/connectors/source-mssql/src/main/resources/spec.json
+47-5
Original file line number
Diff line number
Diff line change
@@ -105,12 +105,54 @@
105
105
]
106
106
},
107
107
"replication_method": {
108
-
"type": "string",
108
+
"type": "object",
109
109
"title": "Replication Method",
110
-
"description": "The replication method used for extracting data from the database. STANDARD replication requires no setup on the DB side but will not be able to represent deletions incrementally. CDC uses {TBC} to detect inserts, updates, and deletes. This needs to be configured on the source database itself.",
111
-
"default": "STANDARD",
112
-
"enum": ["STANDARD", "CDC"],
113
-
"order": 8
110
+
"description": "The replication method used for extracting data from the database. ",
111
+
"order": 8,
112
+
"oneOf": [
113
+
{
114
+
"title": "STANDARD",
115
+
"additionalProperties": false,
116
+
"description": "STANDARD replication requires no setup on the DB side but will not be able to represent deletions incrementally.",
117
+
"properties": {
118
+
"replication_method": {
119
+
"type": "string",
120
+
"const": "STANDARD",
121
+
"enum": ["STANDARD"],
122
+
"default": "STANDARD",
123
+
"order": 0
124
+
}
125
+
}
126
+
},
127
+
{
128
+
"title": "CDC",
129
+
"additionalProperties": false,
130
+
"description": "CDC uses {TBC} to detect inserts, updates, and deletes. This needs to be configured on the source database itself.",
131
+
"properties": {
132
+
"replication_method": {
133
+
"type": "string",
134
+
"const": "CDC",
135
+
"enum": ["CDC"],
136
+
"default": "CDC",
137
+
"order":0
138
+
},
139
+
"is_snapshot_disabled": {
140
+
"title": "DisableSnapshot",
141
+
"type": "boolean",
142
+
"description": "validate the snapshot enable in the database. true would set snapshot.isolation.mode to snapshot otherwise, it would be ",
143
+
"default": false,
144
+
"order": 1
145
+
},
146
+
"is_cdc_only": {
147
+
"title": "cdcOnly",
148
+
"type": "boolean",
149
+
"default": false,
150
+
"description": "true would set snapshot mode to schema_only otherwise, it would set to initial. Refer, https://debezium.io/documentation/reference/stable/connectors/sqlserver.html",
Copy file name to clipboardExpand all lines: airbyte-integrations/connectors/source-mssql/src/test/java/io/airbyte/integrations/source/mssql/CdcMssqlSourceTest.java
Copy file name to clipboardExpand all lines: docs/integrations/sources/mssql.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -63,7 +63,7 @@ Please read the [CDC docs](../../understanding-airbyte/cdc.md) for an overview o
63
63
* There are some critical issues regarding certain datatypes. Please find detailed info in [this Github issue](https://github.com/airbytehq/airbyte/issues/4542).
64
64
* CDC is only available for SQL Server 2016 Service Pack 1 \(SP1\) and later.
65
65
*_db\_owner_\(or higher\) permissions are required to perform the [neccessary setup](mssql.md#setting-up-cdc-for-mssql) for CDC.
66
-
* You must enable [snapshot isolation mode](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/snapshot-isolation-in-sql-server) on the database\(s\) you want to sync. This is used for retrieving an initial snapshot without locking tables.
66
+
* You must enable [snapshot isolation mode](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/snapshot-isolation-in-sql-server) on the database\(s\) you want to sync. This is used for retrieving an initial snapshot without locking tables. You can disable snapshot isolation and initial load in connector setting if required.
67
67
* On Linux, CDC is not supported on versions earlier than SQL Server 2017 CU18 \(SQL Server 2019 is supported\).
68
68
* Change data capture cannot be enabled on tables with a clustered columnstore index. \(It can be enabled on tables with a _non-clustered_ columnstore index\).
69
69
* The SQL Server CDC feature processes changes that occur in user-created tables only. You cannot enable CDC on the SQL Server master database.
0 commit comments