Stream SQL Server changes by reading the transaction log directly.
SQL Server is a source connector. It reads the transaction log directly and streams every committed change as an ordered change row. It runs as an external connector, alongside your SQL Server.
Reads the SQL Server transaction log directly from the path you provide.
Decodes committed inserts, updates, and deletes into ordered change rows.
Routes them to any sink you configure, ordered per key.
Reads the transaction log directly, with low overhead on the source.
Point reads at an optional replica to spare the primary.
Enable Change Data Capture for full before/after values on DECIMAL/MONEY columns.
source:
type: mssql
placement: external
config:
ldf_path: /var/opt/mssql/data/orders.ldf
sql_server:
primary: { host: mssql-1, port: 1433, user: zipline }
database: orders
cdc: { mode: manage }
secret_refs:
- { field: sql_server.primary.password, ref: mssql_password } source config
| Field | Type | Default | Req | Description |
|---|---|---|---|---|
| ldf_path | path | - | req | Path Zipline reads the SQL Server transaction log from. |
| state_dir | path | ./data/state | opt | Where this connector persists its local capture state. |
| sql_server.primary.host | string | - | req | Primary SQL Server host. |
| sql_server.primary.port | int | 1433 | opt | Primary SQL Server port. |
| sql_server.primary.user | string | - | req | Connecting user. |
| sql_server.primary.password | string | - | req secret | Connecting user’s password. |
| sql_server.replica.* | object | - | opt | Optional read replica, same shape as primary - point reads there to reduce load on the primary. |
| sql_server.database | string | - | req | Database name. |
| sql_server.schema | string | dbo | opt | Schema containing the tables to capture. |
| cdc.mode | manage|external|disabled | disabled | opt | How change capture is enabled: Zipline manages it, it’s managed externally, or it’s disabled. |
| cdc.tables | list | - | opt | Restrict capture to specific tables. |
| cdc.on_unavailable | stop|mark | stop | opt | What happens if change capture becomes unavailable mid-run: stop the route, or mark it and continue. |
| tlog_retention.warn_percent | int | 70 | opt | Transaction-log usage percent at which Zipline raises a warning. |
| tlog_retention.critical_percent | int | 90 | opt | Transaction-log usage percent at which Zipline raises a critical alert. |
Follow the first-pipeline guide to wire SQL Server into a running pipeline, or jump to the full config reference above.