Reference · built on requestConnectorDatabases & warehouses

Microsoft SQL Server

Tables, change data capture, and change tracking from Microsoft SQL Server over T-SQL and the TDS drivers.

About

Microsoft SQL Server is Microsoft's relational database engine, sold in Enterprise, Standard, and Express editions and run on Windows or Linux. Clients speak Transact-SQL through drivers for .NET (Microsoft.Data.SqlClient), ODBC, OLE DB, JDBC, Node.js, Python, PHP, Go, and Ruby. Two built-in features expose row changes: change data capture, which copies inserts, updates, and deletes from the transaction log into change tables, and change tracking, which records only which primary keys changed.

An operator on Fibric reads the tables you expose, drains either feed into its own record of what changed, and proposes T-SQL updates for your approval, each with a receipt you can undo.

This is a reference listing. It documents what Fibric would read from Microsoft SQL Server and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Rows from tables and views the login can SELECT, in batches ordered by key
  • Change data capture rows per capture instance through cdc.fn_cdc_get_all_changes_<instance> and cdc.fn_cdc_get_net_changes_<instance>
  • The __$operation column on change rows: 1 delete, 2 insert, 3 update before image, 4 update after image
  • Change tracking results from CHANGETABLE(CHANGES ...), with SYS_CHANGE_OPERATION and SYS_CHANGE_COLUMNS per changed key
  • Validity bounds from sys.fn_cdc_get_min_lsn, sys.fn_cdc_get_max_lsn, and CHANGE_TRACKING_MIN_VALID_VERSION(), so a stale cursor is detected rather than skipped
  • DDL changes to tracked tables, read from cdc.ddl_history through sys.sp_cdc_get_ddl_history

Proposed actions

  • Target capability: propose an UPDATE or INSERT in T-SQL against a table you name, run once inside a transaction
  • Target capability: propose a write tagged WITH CHANGE_TRACKING_CONTEXT so your other sync jobs can recognize and skip it

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Feed orders into a risk queue from the ERP database

    Enable a capture instance on the sales order table and read net changes each cycle, so an order that flips to held or backordered reaches the queue on the next scan.

    With Order Risk, Backorder Notice

  • Prove nightly loads landed

    Compare CHANGE_TRACKING_CURRENT_VERSION() and row counts per table against the previous run, and flag a table whose version did not move.

    With Data Freshness

  • Explain a KPI that moved overnight

    Read the change table for the period, group the after-image rows by the column that drives the metric, and show which records moved it.

    With KPI Drift, Root Cause

Requirements

  • SQL Server 2017 or later on Enterprise or Standard edition; Express edition has no change data capture and no SQL Server Agent
  • SQL Server Agent running, since the change data capture capture and cleanup jobs run under it
  • Change data capture enabled with sys.sp_cdc_enable_db and sys.sp_cdc_enable_table, or change tracking enabled with ALTER DATABASE ... SET CHANGE_TRACKING = ON
  • A login with SELECT on the source tables you expose
  • ALLOW_SNAPSHOT_ISOLATION ON, which Microsoft recommends for consistent change tracking reads
Authentication
A SQL Server login, either Windows Authentication (NTLM or Kerberos, the default mode) or SQL Server Authentication in mixed mode; Microsoft Entra authentication needs SQL Server enabled by Azure Arc or an Azure virtual machine.

Limits

  • Change data capture reads the log after commit, so a change is not visible until the capture job has processed the related log entries
  • The cleanup job keeps 4320 minutes, three days, of change data by default; a cursor older than the validity interval loses changes
  • Change tracking records primary keys only; current values must be joined from the source table and intermediate versions are lost
  • At most two capture instances per source table, and columns added after enablement are ignored by the existing instance

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request Microsoft SQL Server ↗

Questions and answers

Which editions support change data capture?
Enterprise and Standard. The SQL Server 2025 edition table lists change data capture as Yes for Enterprise and Standard and No for Express. Change tracking is available on all three editions.
What is the difference between change data capture and change tracking?
Change data capture copies the changed column values into change tables, with before and after images for updates. Change tracking records only that a row changed, identified by its primary key, plus the operation and updated columns. Microsoft points to CDC when intermediate values matter.
How long are changes kept?
For change data capture the cleanup job runs daily at 2 A.M. and retains 4320 minutes, three days, by default. For change tracking, CHANGE_RETENTION is set on the database; a client whose last version is below CHANGE_TRACKING_MIN_VALID_VERSION() must reinitialize.
Ask about Microsoft SQL Server

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.