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.

StepHeadingWhat you decide
SourceSelect a sourceEngine, capture mode, agent, log broker, connection
TargetSelect a targetEngine, connection, where the target is applied. See Target.
TablesChoose tablesWhich tables to replicate. See Tables and configure.
PreparePrepare to runWhat must exist before a start. See Prepare.
ReviewReview & nameThe 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.

EngineModes, in wizard orderWhere to read more
SQL ServerDirectLog, Reconstruction, Polling, Native CDCSQL Server
Azure SQLNative CDC (the only mode)Azure SQL
OracleDirectLog, LogMinerOracle
SybaseDirectLog, ReconstructionSybase ASE
PostgreSQLNo choice. Capture uses logical replication.PostgreSQL
MySQLNo 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.

FieldEnginesNotes
HostAllA 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.
PortAllOptional. The defaults are 5432 (PostgreSQL), 3306 (MySQL), 1521 (Oracle), 1433 (SQL Server and Azure SQL) and 5000 (Sybase).
DatabaseAll except OracleThe database to capture.
Service name (PDB)OracleThe pluggable database service.
AuthenticationSQL Server, Azure SQLThe default is SQL login. See Authentication methods.
UsernameAllThe label changes with the authentication method, for example Client ID.
Password sourceAll with a passwordPassword, 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.
EncryptionAll except Azure SQLRequire (default) or Prefer. See Encryption.
Server certificate DN, Wallet path on agentOracleUnder 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)OracleUnder Advanced capture settings. Use them only when your deployment requires it.

Encryption

Require is the default and the right choice for a production server.

EngineRequirePrefer
SQL ServerEncrypts 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, MySQLEncrypts the connection and validates the server certificate.Encrypts when the server offers TLS and otherwise connects unencrypted, without checking the certificate.
OracleConnects 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.
SybaseConnects 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

MethodSQL ServerAzure SQL, Hyperscale, Managed InstanceSQL database in Fabric
SQL loginYesYesNo
Windows (agent service account)YesNoNo
Microsoft Entra managed identityYesYesYes
Microsoft Entra workload identityYesYesYes
Microsoft Entra service principalYesYesYes
Microsoft Entra integratedYesYesYes
Microsoft Entra passwordYesYesYes

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:

TagMeaning
Name does not resolveThe agent can't resolve the host name.
Connection cutThe connection broke after it opened.
Connection refusedNothing listens on that host and port.
No answer in timeThe host didn't answer.
TLS handshake failedThe agent and the server couldn't agree on a secure connection.
Login rejectedThe server was reached and refused the credentials.
Database not accessibleThe login worked, but the database is offline, restoring, or doesn't exist.
Schema cannot be provisionedThe 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.

See also

Next
Agent

If this was useful,
our newsletter will be too.

Get monthly insights on data engineering, AI, and building critical infrastructure - direct from the Spectral Core team and CEO Damir Bulic.