This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreDid you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now
If you haven’t already, check out Arun Ulag’s hero blog “FabCon and SQLCon 2026: Unifying databases and Fabric on a single, complete platform” for a complete look at all of our FabCon and SQLCon announcements across both Fabric and our database offerings.
When data lands in your analytics destination, one of the first questions a data engineer, analyst, or compliance officer will ask is: "Where did this row come from, and when did it get here?"
It's a simple question. But in most data platforms, answering it requires custom engineering. This metadata is essential for debugging data quality issues, meeting regulatory audit requirements, and building trust in your data platform.
Audit columns are now available in Copy job—a built-in capability that you can choose to automatically add data movement metadata to every row in your destination, giving you row-level visibility into when data was moved and where it came from, with zero code overhead.
When you enable audit columns in Copy job, each row in your destination table can be enriched with information such as:
| Audit Column | What It Captures |
|---|---|
| Data extraction time | The timestamp when the row was extracted from the source by a Copy job run |
| File path | The source file path the row was read from (applicable for file-based sources) |
| Workspace ID | The Fabric workspace ID where the Copy job resides |
| Copy job ID | The unique identifier of the Copy job item |
| Copy job run ID | The unique identifier of the specific Copy job execution |
| Copy job name | The name of the Copy job that moved the row |
| Lower bound | The lower bound value of the incremental window for the current run |
| Upper bound | The upper bound value of the incremental window for the current run |
| Custom | A user-defined static value— add any additional context your team needs. For example, you can add your source server name here |
With audit columns enabled, you can answer the following questions for any row in your destination table:
Supported connectors: Audit columns are supported on all Copy job connectors except Snowflake, Office 365, and Databricks Delta Lake.
Data lineage—knowing where data came from and how it got to its current state—is a foundational requirement for any serious data platform. But traditional approaches to lineage tracking typically operate at the job level: you know that Job X ran at 3:00 PM and wrote to Table Y. What you don't know is which specific rows were affected, when each row was written, or whether a particular row came from this run or a previous one.
Audit columns close this gap by embedding lineage metadata directly into the data. Every row carries its own provenance. This is row-level lineage—and it's fundamentally more useful than job-level metadata for debugging, auditing, and data quality.
Compliance and Regulatory Reporting
For organizations in regulated industries—financial services, healthcare, insurance, and government, the ability to trace data back to its source is not optional. Auditors need to answer questions like:
Data Quality and Debugging
When data quality issues appear—duplicate rows, stale data, or missing records—the first question is always: when did this row arrive, and where did it come from? Audit columns answer that instantly.
Without audit columns, you'd need to cross-reference workspace monitoring logs, match timestamps against row counts, and hope the correlation holds. With audit columns, the metadata is right there in the row.
Downstream Analytics and Freshness Tracking
Audit columns enable a class of downstream analytics that would otherwise require custom engineering:
Step 1: Create or Open a Copy job
In your Fabric workspace, start by creating a new Copy job or opening an existing one. Choose your source tables as you normally would.
Step 2: Add Audit Columns
In the Copy job setup, after selecting the source tables or folders to be copied, add audit columns. This automatically adds metadata columns to every destination table in your job.
Configure_audit_columns
Figure 1: Configure Audit Columns
Step 3: Run your Copy job
Run the Copy job. With each execution, every row written to the destination table will include audit column values such as extraction time, workspace ID, copy job name, run ID, and any custom metadata you’ve defined.
Step 4: Query your Data and Build Reports
Open your destination table and query the audit columns along with your business data for a complete context. Audit columns are standard table fields, so they work seamlessly with Power BI, KQL queries, and other tools. You can easily build dashboards for data freshness, monitor ingestion SLAs, and create compliance lineage reports without relying on external metadata stores.
Show_Audit_Columns
Figure 2: Show Audit Columns
If you have any questions or would like to provide feedback, please feel free to leave a comment.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.