sys.fn_dblog, and log backups through sys.fn_dump_dblog). Unlike the SQL Server Source, it does not need SQL Server CDC or its change tables. Any base table can be captured.
Its events and topics have the same shape as the CDC connector’s: <prefix>.<database>.<schema>.<table>, with one data model per table.
Compatible versions
Prerequisites
- The database in the
FULLorBULK_LOGGEDrecovery model. UnderSIMPLE, the log is truncated at every checkpoint and nothing can be read from it:
- A login with
sysadmin, ordb_owneron the database plusVIEW SERVER STATE. - A primary key on each captured table, or a unique index over
NOT NULLcolumns. Without one, a target has no key to apply updates and deletes by.
Reading log backups (optional)
By default the connector reads the active log only. If a log record is truncated before the connector reads it (for example, after a log backup during an outage), the connector stops with an error rather than skipping changes. To let it recover those records, set Log backup path to the directory or UNC share where the database’s.trn log backups are written. Enter the path as the SQL Server instance sees it: the backups are read on the server, not by Popsink. The check then confirms that:
- at least one log backup of the database is recorded in
msdb; - the latest one was written under that path;
- the path is a directory the instance can reach.
Configuration
Connecting through an SSH Tunnel
If the database is only reachable through a bastion host, enable SSH Tunnel and provide:
The Host and Port above stay as the database is addressed from the
bastion. For key generation, bastion hardening and the other connectivity
options (IPsec VPN, Tailscale), see
Tunnels and private connectivity.