Overview
Supported sources and targets
See every source engine and its capture modes, every target by group, and the features that work with every combination.
SQL Flow captures changes from six source engines and writes to ten target types. Every capture mode writes to every target, and to several targets in one pipeline. Use this page to check your combination, then follow the links for each engine's requirements.
Sources
The wizard selects the first mode in the list by default.
| Source | Versions | Capture modes, in wizard order | Log broker on the database host |
|---|---|---|---|
| SQL Server | 2016 SP2 and later | DirectLog, Reconstruction, Polling, Native CDC | DirectLog and Reconstruction |
| Azure SQL | Azure SQL Database, including Hyperscale | Native CDC | Not possible |
| Oracle | Tested on 12.2, 19.3, 21.3 and 23.26 (26ai) | DirectLog, LogMiner | DirectLog |
| PostgreSQL | 14 and later | Logical replication | Not used |
| MySQL | 8.0 and later, including 8.4 and 9.x; MariaDB | Binlog | Not used |
| Sybase ASE (Sybase in the wizard) | SAP ASE 16.0 SP02 PL02 (EBF 25320) for Linux x86-64, with a 16 KB page size | DirectLog, Reconstruction | DirectLog and Reconstruction |
Oracle releases other than the tested ones, including later release updates, are expected to work. SQL Server releases before 2016 SP2 are refused by name. On SQL Server 2016 SP2 and 2017, Reconstruction needs a signed helper procedure that a sysadmin installs once. Any other SAP ASE build is refused by name. See each source's page for the details.
Azure SQL Managed Instance is added as a SQL Server source and captures with Native CDC or Polling, because it allows no log broker on its hosts. SQL database in Microsoft Fabric has no change data capture, so it is a target only.
Targets
A target is where a pipeline writes. Targets come in three groups.
| Group | Target | Name in the wizard | What SQL Flow writes |
|---|---|---|---|
| Relational databases | PostgreSQL | PostgreSQL | Replica tables, applied by key |
| MySQL (also MariaDB) | MySQL | Replica tables, applied by key | |
| Oracle | Oracle | Replica tables, applied by key | |
| SQL Server | SQL Server | Replica tables, with transactional, exactly-once writes | |
| Azure SQL | Azure SQL | Replica tables in Azure SQL Database or Hyperscale | |
| SQL database in Fabric | Fabric SQL database | Replica tables through the database's SQL endpoint | |
| Sybase ASE | Sybase | Replica tables, applied in source order | |
| Event streaming & messaging | Kafka | Kafka | One JSON message per change, keyed by the primary key |
| Google Pub/Sub | Google Pub/Sub | One JSON message per change, with an ordering key | |
| Data platform integration | Fabric Open Mirroring | Fabric Mirror | Parquet files in an open mirrored database's landing zone |
A Source monitor pipeline captures without a target, in every capture mode except DirectLog, whose pipelines always have a target. You can add targets to it later.
Features available everywhere
These features work with every source, capture mode and target:
- Table and column names per target, and automatic data type mapping.
- In-flight processing: row filters, output columns and masks.
- Compare and repair, including the automatic repair policy.
- Schema change propagation of added and dropped columns.
- High availability of the control plane, log brokers and agents.
- Relay agents that apply a target from an agent near it: on the wizard's Target step, choose another agent to apply the target. See Setting up relay agents.
Each feature still has its own engine prerequisites, which its page lists.
