Pipeline wizard
Source
Choose the source engine and capture mode, enter the connection, and test it from the Source step of the New pipeline wizard.
The Source step is the first of five steps in the New pipeline wizard. You choose the database SQL Flow captures changes from, choose how it captures them, pick the agent that runs the pipeline, enter the connection and test it. The agent runs the test, because the control plane never connects to your databases itself.
How the wizard works
To open the wizard, select New pipeline on the Pipelines page. On a new account the page shows Create first pipeline instead.
| Step | Heading | What you decide |
|---|---|---|
| Source | Select a source | Engine, capture mode, agent, log broker, connection |
| Target | Select a target | Engine, connection, where the target is applied. See Target. |
| Tables | Choose tables | Which tables to replicate. See Tables and configure. |
| Prepare | Prepare to run | What must exist before a start. See Prepare. |
| Review | Review & name | The pipeline name, then create. See Review and create. |
Every step has Cancel, Back and Next at the top. Next is disabled until the step is complete, and a red box under the heading says why.
The wizard keeps your answers in the browser tab, so a refresh restores them with the notice Restored your unfinished pipeline: <summary>. Select Start over to clear them. Typed passwords and test results are never kept, so enter the passwords again and retest after a restore. Cancel asks you to confirm Discard this pipeline? once you have entered something.
Choose the engine
The first screen asks Which database? Select one tile: PostgreSQL, MySQL, Oracle, SQL Server, Azure SQL or Sybase (this documentation calls the engine Sybase ASE).
Choose the capture mode
SQL Server, Azure SQL, Oracle and Sybase show a Capture mode choice. The first mode listed is the default.
| Engine | Modes, in wizard order | Where to read more |
|---|---|---|
| SQL Server | DirectLog, Reconstruction, Polling, Native CDC | SQL Server |
| Azure SQL | Native CDC (the only mode) | Azure SQL |
| Oracle | DirectLog, LogMiner | Oracle |
| Sybase | DirectLog, Reconstruction | Sybase ASE |
| PostgreSQL | No choice. Capture uses logical replication. | PostgreSQL |
| MySQL | No choice. Capture reads the binlog. | MySQL |
A line under the mode says what it reads and what it needs. DirectLog on SQL Server, Oracle and Sybase, and Reconstruction on SQL Server and Sybase, need a log broker on the source host. See Broker.
A Purpose line follows. The default is Purpose: replicate to a target. Select monitor the source only to create a source monitor, which captures and spools changes but writes nowhere. Select Replicate to a target instead to undo it. DirectLog has no purpose choice, because DirectLog pipelines always have a target.
Choose the agent
Under the mode, the Runs on control picks the agent that runs the pipeline and tests the connection. See Agent.
Enter the connection
The fields depend on the engine.
| Field | Engines | Notes |
|---|---|---|
| Host | All | A host name or IP address, not a connection string. localhost and other local names mean the machine of the assigned agent, not your browser's machine, and the form says so. |
| Port | All | Optional. The defaults are 5432 (PostgreSQL), 3306 (MySQL), 1521 (Oracle), 1433 (SQL Server and Azure SQL) and 5000 (Sybase). |
| Database | All except Oracle | The database to capture. |
| Service name (PDB) | Oracle | The pluggable database service. |
| Authentication | SQL Server, Azure SQL | The default is SQL login. See Authentication methods. |
| Username | All | The label changes with the authentication method, for example Client ID. |
| Password source | All with a password | Password, which is encrypted and delivered only to the agent, or Secret reference, which the agent resolves on its own host so the secret never reaches the control plane. See Database credentials and secret references. |
| Encryption | All except Azure SQL | Require (default) or Prefer. See Encryption. |
| Server certificate DN, Wallet path on agent | Oracle | Under Require, Server certificate DN is required: enter the TLS listener's port and the server certificate's distinguished name. The wallet is optional, only for client authentication, and must be readable by the agent service. |
| Root service for capture, Agent memory limit (bytes) | Oracle | Under Advanced capture settings. Use them only when your deployment requires it. |
Encryption
Require is the default and the right choice for a production server.
| Engine | Require | Prefer |
|---|---|---|
| SQL Server | Encrypts the connection and validates the server certificate. | Still encrypts, but doesn't check the certificate. For an on-premises server with a self-signed certificate. |
| PostgreSQL, MySQL | Encrypts the connection and validates the server certificate. | Encrypts when the server offers TLS and otherwise connects unencrypted, without checking the certificate. |
| Oracle | Connects to the TLS listener, validates the certificate chain and matches the server certificate DN. | Does the same when a DN is set, and connects over plain TCP when no TLS setting is set. |
| Sybase | Connects with TLS and validates the server certificate. | Connects without TLS unless a trusted certificate file is configured on the agent. |
Choosing Prefer shows an amber warning that says what it gives up, for example that a machine on the network path could pose as the server. Azure SQL connections always encrypt and validate the certificate. A connection saved with an older certificate or SSL option shows an amber note and is refused until you save it again with an Encryption choice. See Encrypted data support.
Authentication methods
| Method | SQL Server | Azure SQL, Hyperscale, Managed Instance | SQL database in Fabric |
|---|---|---|---|
| SQL login | Yes | Yes | No |
| Windows (agent service account) | Yes | No | No |
| Microsoft Entra managed identity | Yes | Yes | Yes |
| Microsoft Entra workload identity | Yes | Yes | Yes |
| Microsoft Entra service principal | Yes | Yes | Yes |
| Microsoft Entra integrated | Yes | Yes | Yes |
| Microsoft Entra password | Yes | Yes | Yes |
Each method shows only the fields it uses.
- Microsoft Entra service principal signs in with a Client secret or a Certificate, chosen in Signs in with. A certificate is a PEM or PFX file on the agent host, named in Certificate path on agent.
- Microsoft Entra managed identity uses the system-assigned identity of the Azure resource the agent runs on, or the user-assigned identity named in Client ID (user-assigned identity).
- Microsoft Entra password shows a warning: Microsoft has deprecated it, and it fails when MFA or Conditional Access applies to the account. Prefer a service principal or a managed identity.
- An agent runs unattended, so SQL Flow offers no sign-in that needs a person, such as an interactive or device-code sign-in.
Use saved connections
When the account has saved connections for this engine, choose one from Saved connection above the form to fill the host, port, database, username, options and capture mode. Passwords are never saved, so enter the password again. A saved secret reference is restored.
To save the current details, select Save to repository and enter a Connection name. Saving under an existing name replaces that connection, and the button reads Overwrite. To remove a saved connection, select Delete beside it. Pipelines created from it keep their own settings. See Saved connections.
The wizard has no project field. Assign a pipeline to a project after you create it, from Actions > Set project… on the pipeline's page. See Projects.
Test the connection
Select Test connection & list tables. While the agent works, the button reads Asking <agent> to connect….
A passing test shows Connected with details, for example 12 tables found. It also lists the tables for the Tables step and, for modes that read through a log broker, checks that the agent can reach the broker.
If you select Next without a passing test, the wizard runs the test first. Changing the host, database, credentials, options, agent or capture mode discards the result.
If another consumer, such as your own CDC capture job or a replication publication, already owns the database's replication truncation point, the passing test adds an amber line that starts Secondary log consumer:. The pipeline can still be created. SQL Flow leaves that consumer and its change tables alone.
When the test fails
A failure shows the agent's own sentence in red, tagged with where the attempt stopped:
| Tag | Meaning |
|---|---|
| Name does not resolve | The agent can't resolve the host name. |
| Connection cut | The connection broke after it opened. |
| Connection refused | Nothing listens on that host and port. |
| No answer in time | The host didn't answer. |
| TLS handshake failed | The agent and the server couldn't agree on a secure connection. |
| Login rejected | The server was reached and refused the credentials. |
| Database not accessible | The login worked, but the database is offline, restoring, or doesn't exist. |
| Schema cannot be provisioned | The agent couldn't create what the check needs. |
For the first five tags, the message starts with <agent> could not reach <host>:<port>. Check that the host is reachable from the agent's machine, not from yours.
Could not start the probe, The probe expired - try again. and Timed out waiting for the agent. mean the agent didn't run or finish the test. Check that the agent is online, then test again.
Without an agent, the test can't run, and the form says "Testing needs an online agent. Go back to step 1 and choose one (the control plane never connects to a database itself)." Select Assign agent.
Leave the step
Next is enabled when you chose an engine, the connection is complete, the last test didn't fail, and, for a mode that needs an agent, that agent is online. Otherwise the red box says what is missing, for example:
Choose the database the changes are captured from.The last connection test failed. Fix the connection and test it again.This pipeline's agent '<name>' is offline. It tests connections and runs the pipeline, so nothing will start until it reconnects.Host is required.
For a mode that reads through a log broker, the test doesn't pass until the broker is ready, and the broker panel carries the next action. See Broker.
