A lightweight SQL feature that records, as part of each change, which rows were affected (their primary key, the operation and, optionally, the columns) without keeping old values. Readers call CHANGETABLE and then fetch the current rows themselves.
Read more: Microsoft Learn
In the Ultra Transcenders books
Each book explains Change tracking in context, with comparison tables and the common traps.
Terms in this definition
- Serverless
Compute tier for single Azure SQL databases that scales automatically, pauses when idle and charges by the second. It is offered in General Purpose and Hyperscale, not Business Critical, and reserved capacity does not apply.
- Primary key
Uniquely identifies every row in a relational table, using one column or several together. A foreign key in another table holds this value to reference the row.
- VALUES
Returns in DAX the distinct column values, or table rows, still visible after filters are applied, sometimes with an extra blank entry. CALCULATE often takes the result as a table filter.
- Readers
Gives view-only rights within an Azure DevOps project, for example over releases and pipelines. Don't confuse it with Azure's Reader role or the agent pool Reader role.
- CHANGETABLE
A function for reading change tracking data:
CHANGETABLE(CHANGES ...)returns the rows modified after a specified version, andCHANGETABLE(VERSION ...)gives a row's most recent version.
Related terms
- Azure Functions SQL trigger
Lets an Azure Function react to table changes: it polls using change tracking, passes the changed rows to the function in batches, and records its progress in a schema called
az_func. - Full-text population
Filling or refreshing a full-text index, done as a full population, through change tracking (manual or automatic), or incrementally, which needs a timestamp column.
- Incremental load
Rather than reloading everything each time, this approach does one full copy and afterwards moves only rows that are new or changed, found through CDC, change tracking or a high watermark. It scales better than full loads, provided change detection can be trusted.
- Logic Apps SQL Server built-in triggers
Triggers built into the SQL Server connector of Standard Azure Logic Apps (When a row is inserted is one example). They check for changes using change tracking, whereas the managed connector's triggers look at a rowversion or identity column.
- SQL Server connector
Used in Power Automate and Azure Logic Apps, this connector talks to SQL Server, Azure SQL Managed Instance and Azure SQL Database. Triggers for new or changed rows rely on change tracking being enabled.