Public Preview · December 2025 · Fabric Data Factory

Running Native dbt Jobs in Microsoft Fabric Data Factory

Native dbt Jobs in Microsoft Fabric Data Factory run dbt Core transformations directly inside your Fabric workspace — no external orchestration, no local dbt installation, no separate CI/CD infrastructure to maintain. This guide covers setup, runtime details, supported adapters, OneLake logs, scheduling, CI/CD integration, current limitations, and the dbt Fusion roadmap — verified against official Microsoft Learn documentation through June 2026.

Quick Answer

Native dbt Jobs in Microsoft Fabric Data Factory let you author, run, schedule, and monitor dbt Core transformations as a managed item type inside a Fabric workspace. Released in Public Preview, rollout completed December 21, 2025. The dbt job runtime v1.0 supports dbt Core v1.9 with four adapters: Fabric Warehouse, Azure SQL Database, PostgreSQL, and Snowflake. Run logs are stored in OneLake and visible from the Fabric monitoring hub. No build caching in preview — every run compiles fresh from source. dbt Fusion integration is planned for 2026 following a Microsoft and dbt Labs collaboration.

📅 Last verified: June 2026 ⏱ ~14 min read ✍️ A.J., Data Engineering Researcher 🔗 Source: Microsoft Learn

What Are Native dbt Jobs in Microsoft Fabric Data Factory?

Native dbt Jobs is a managed item type inside Microsoft Fabric Data Factory that runs dbt Core transformations without requiring an external dbt Cloud account, a self-hosted orchestration server, or a local dbt installation on a developer machine. The dbt project — models, tests, macros, and configuration — runs directly on Fabric-managed compute, scheduled and monitored the same way as Data Factory pipelines.

Before native dbt Jobs, running dbt transformations against Fabric Warehouse meant standing up dbt Cloud, a self-hosted Airflow instance, or a CI/CD runner specifically to invoke dbt run against the Fabric SQL endpoint. Native dbt Jobs removes that external dependency — the orchestration, compute, scheduling, and logging now live inside the same workspace as the warehouse itself.

⚠️
Public Preview — Rollout Completed December 21, 2025

Native dbt Jobs entered Public Preview in December 2025, with tenant rollout completing December 21, 2025. As a preview feature, behaviour, supported adapters, and limitations are subject to change before General Availability. Verify current status at Microsoft Learn before production planning.

Native dbt Jobs vs External dbt Orchestration

Teams running dbt against Fabric today typically use one of three external patterns: dbt Cloud, a self-hosted orchestrator (Airflow, Dagster) calling dbt CLI, or a CI/CD pipeline (GitHub Actions, Azure DevOps) triggering scheduled dbt runs. Native dbt Jobs is not a replacement for all of these — it is the right choice for specific scenarios.

ApproachOrchestration LivesBest For
Native dbt JobsInside Fabric workspace alongside pipelinesTeams fully on Fabric wanting unified scheduling, monitoring, and lineage in one place
dbt Clouddbt Labs-hostedMulti-warehouse organizations, teams wanting dbt-native CI features (Slim CI, dbt Explorer)
Self-hosted orchestratorCustomer-managed Airflow/DagsterComplex cross-system dependencies, existing orchestration investment
CI/CD-triggered runsGitHub Actions / Azure DevOpsTeams wanting full control over the runner environment and dbt version

The clearest advantage of native dbt Jobs is unified governance — dbt job runs appear in the same Fabric monitoring hub as pipelines, notebooks, and Spark jobs. Lineage between a dbt model and the Power BI report consuming it is visible without separate tooling. The clearest current limitation is the lack of build caching (see Section 10) — teams with large dbt projects relying on Slim CI patterns should evaluate this carefully before migrating off dbt Cloud.

Enabling Native dbt Jobs — Admin and Workspace Setup

Two separate permission levels control access to native dbt Jobs: a tenant-level admin toggle, and workspace-level role requirements for individual users.

Tenant Admin Setup

  1. Open the Fabric Admin PortalA Fabric Tenant Administrator navigates to Settings → Admin Portal → Tenant settings.
  2. Locate Data Factory settingsFind the Data Factory section of tenant settings, which groups all Data Factory-related preview toggles.
  3. Enable “dbt jobs (preview)”Toggle the setting on for the entire organization, or scope it to specific security groups for a controlled rollout.

Workspace-Level Requirements

RequirementDetail
Workspace roleContributor role or higher required to create and run dbt job items
Target permissionsRead and write permissions on the target Fabric Warehouse (or connected Azure SQL DB, PostgreSQL, Snowflake)
Fabric capacityWorkspace must be assigned to an active Fabric capacity — trial capacities are supported in preview

dbt Job Runtime v1.0 — Supported Adapters

The current dbt job runtime is version 1.0, built on dbt Core v1.9. It includes four supported adapters at launch, with a fifth — Fabric Lakehouse — on the near-term roadmap.

AdapterTarget SystemStatus
dbt-fabricFabric Warehouse (native)Supported
dbt-sqlserver / dbt-fabricAzure SQL DatabaseSupported
dbt-postgresPostgreSQLSupported
dbt-snowflakeSnowflakeSupported
dbt-fabric (Lakehouse)Fabric LakehouseComing soon — GA
Community / partner adaptersBigQuery, Redshift, Databricks, etc.Not yet supported
📌
Public Package Support Added March 2026

Support for public dbt packages (such as dbt_utils, dbt_expectations, codegen) was added to the native runtime in March 2026. Earlier preview releases did not support packages.yml dependencies — projects relying on community packages required workarounds before this update. Verify your runtime version supports the packages your project depends on.

Creating Your First dbt Job in Fabric

  1. Create a new dbt job itemIn your Fabric workspace, select New item → dbt job (preview). This creates a managed item that holds your dbt project configuration.
  2. Connect your dbt project sourceLink the dbt job to a Git-connected repository containing your dbt project, or upload project files directly. Git integration follows the same Fabric Git connection pattern used for other workspace items.
  3. Configure the target connectionSet the adapter and connection details for your target — Fabric Warehouse, Azure SQL Database, PostgreSQL, or Snowflake. Credentials are managed through Fabric connections, not stored in profiles.yml.
  4. Define the dbt command to runSpecify which dbt command executes — dbt build, dbt run, dbt test, or a scoped selection like dbt run --select tag:daily.
  5. Run and review resultsTrigger a manual run to validate the configuration. Review model execution status, test results, and any compilation errors in the run output before scheduling.
# Example dbt command configurations for a Fabric dbt job

# Full project build (models + tests + snapshots)
dbt build

# Run only models tagged for daily refresh
dbt run --select tag:daily

# Run and test a specific mart and its dependencies
dbt build --select +fct_orders

# Run tests only, skip model execution
dbt test --select tag:critical
Field note — A.J., UIG Data Lab

Scope your dbt commands deliberately rather than running dbt build on the entire project every time. Because there is no build caching in the current preview (see Section 10), every run recompiles from source — a focused --select clause keeps run time and OneLake log output manageable, particularly relevant given the 1 MB log size limit covered in Section 07.

Scheduling and Monitoring dbt Jobs

dbt job items support the same scheduling mechanism as other Fabric Data Factory items — time-based triggers configured directly on the item, or invocation from a parent pipeline using the Fabric pipeline activity for dbt jobs.

Standalone Scheduling

Configure a recurring schedule directly on the dbt job item — hourly, daily, weekly, or a custom cron-style expression. This is the simplest pattern for a dbt project that runs independently of other Fabric workloads.

Pipeline-Orchestrated Scheduling

For dbt runs that must execute after upstream ingestion completes, add a dbt job activity to a Fabric Data Factory pipeline. This allows the dbt job to run conditionally — only after a Copy Data activity or a Lakehouse load succeeds — rather than on a fixed independent schedule.

PatternUse When
Standalone schedule on dbt job itemdbt project is the entire workload — no upstream dependency to wait for
Pipeline activity, sequentialdbt run must wait for ingestion (Copy Data, Dataflow Gen2) to complete first
Pipeline activity, parallel branchesMultiple independent dbt jobs or other activities run concurrently after a shared trigger

Monitoring for dbt job runs appears in the Fabric Monitoring Hub alongside pipeline runs, notebook runs, and Spark job runs — giving a single pane of glass for the entire orchestration layer rather than a separate dbt-specific monitoring surface.

Reviewing dbt Run Logs in OneLake

dbt job run logs — including model execution status, test results, and compiled SQL — are written to OneLake and accessible directly from the Fabric workspace. This means dbt run history is stored using the same governed, queryable storage layer as your data, rather than a separate logging system outside the Fabric security boundary.

What the Monitoring Interface Shows

📊

Run-Level Visibility

  • Overall run status — success, failure, partial success
  • Duration per run and per model
  • Trigger source — manual, scheduled, or pipeline-invoked
🧪

Model & Test Detail

  • Per-model execution status and timing
  • Test pass/fail results with failure row counts
  • Model lineage visualization within the run
🚨
1 MB Output Log Limit — Error Code 2001

dbt job run output logs have a 1 MB size limit per run. Exceeding this limit causes the job to fail with error code 2001. Large projects producing verbose console output — particularly from extensive test failures or debug-level logging — can hit this limit. Scope dbt commands to specific model selections rather than running the entire project as one command, and avoid verbose flags unless actively debugging.

CI/CD Integration for Native dbt Jobs

Native dbt Jobs integrate with Fabric’s standard Git-based deployment workflow rather than requiring a separate dbt-specific CI/CD pipeline. The dbt project lives in Git, and Fabric’s deployment pipelines move the dbt job item between Dev, Test, and Production workspaces alongside other Fabric artifacts.

Recommended Branching Pattern

main                  → Production workspace (scheduled runs)
release/*             → Test workspace (validation before promotion)
feature/*              → Dev workspace (individual development)

# Fabric deployment pipeline stages
Dev workspace  → [Deploy]  → Test workspace  → [Deploy]  → Production workspace

Each Fabric deployment stage can target a different Warehouse connection — meaning the same dbt project, with environment-specific connection configuration, runs against Dev, Test, and Production Fabric Warehouses without code changes between environments. This mirrors the dev/prod target pattern dbt Cloud and CLI users already rely on, but managed through Fabric’s native deployment pipelines instead of dbt-specific target configuration.

⚠️
Slim CI Not Yet Available Natively

Because the preview runtime does not support build caching or state artifacts (see Section 10), the state:modified Slim CI pattern documented for dbt Cloud and external CI/CD is not currently available within native dbt Jobs. Until dbt Fusion or a future runtime version adds artifact persistence, every job run executes the full selected scope from source.

dbt Fusion Roadmap — What’s Coming to Fabric

At the December 2025 native dbt Jobs preview launch, Microsoft and dbt Labs announced a close collaboration, with dbt Fusion integration in Microsoft Fabric planned for calendar year 2026. dbt Fusion is dbt Labs’ next-generation execution engine, built on a Rust foundation for significantly faster compilation and execution compared to the Python-based dbt Core engine currently powering the v1.0 runtime.

🔶
March 2026 Update — Strategic Investment Confirmed

A March 2026 update from the Fabric blog reaffirmed the Microsoft and dbt Labs partnership as a continued strategic investment in the modern analytics stack, alongside the public package support release. The Fivetran and dbt Labs merger announced in 2026 does not change this roadmap — dbt Fusion integration into Fabric remains on track for later in 2026.

For teams currently evaluating native dbt Jobs, the practical implication is that build caching and state-based Slim CI capabilities — currently the most significant gap versus dbt Cloud — are expected to improve as dbt Fusion integration progresses through 2026. This is also relevant to the dbt Core v2.0 alpha announced separately at Snowflake Summit 2026, which shares the same Rust-based foundation as Fusion. See dbt Best Practices for SQL Transformation for the dbt Core v2.0 details.

Current Limitations of Native dbt Jobs

LimitationDetail
Public PreviewFeature behaviour, supported adapters, and pricing may change before GA.
No build cachingEvery run compiles and executes fresh from source. dbt artifacts from previous runs are not retained for reuse.
No Slim CI / state:modifiedState-based selective run patterns are not yet supported natively — a direct consequence of no build caching.
1 MB log output limitRun output exceeding 1 MB fails with error code 2001. Scope commands accordingly.
dbt Core v1.9 onlyThe job runtime is fixed at dbt Core v1.9. Projects requiring newer dbt features must wait for runtime updates.
Limited adapter supportOnly Fabric Warehouse, Azure SQL Database, PostgreSQL, and Snowflake. Fabric Lakehouse adapter coming soon. No BigQuery, Redshift, Databricks, or community adapters yet.
No custom Python packagesCustom Python-based dbt packages or pre/post-hook scripts requiring non-dbt dependencies are not supported in the managed runtime sandbox.

FAQ — Native dbt Jobs in Microsoft Fabric Data Factory

Native dbt Jobs is a managed execution environment that runs dbt Core transformations directly inside Fabric without requiring external orchestration tools, local dbt installations, or third-party CI/CD infrastructure. Enabled in Public Preview on December 21, 2025, it lets data engineers author dbt models, define dependencies, run tests, schedule runs, and review OneLake logs — all from within the Fabric workspace alongside pipelines and reports.
A Fabric Tenant Administrator must enable the feature first. Navigate to Settings → Admin Portal → Tenant settings → Data Factory → and enable “dbt jobs (preview)” for the organization or specific security groups. Once enabled, workspace members with Contributor role or higher can create dbt job items. The rollout completed on December 21, 2025.
dbt job runtime v1.0 supports dbt Core v1.9 and includes four adapters: Fabric Warehouse (native), Azure SQL Database, PostgreSQL, and Snowflake. The Fabric Lakehouse dbt core adapter is coming soon as Generally Available. Some community and partner adapters are not yet supported in the preview runtime.
No. In the current preview, dbt Jobs in Fabric compiles and executes the project fresh from source on every run. dbt artifacts produced from previous runs are not available for recompilation. This means Slim CI patterns using state:modified are not yet supported within the native runtime. Plan accordingly for projects with large numbers of models.
dbt Fusion is the next-generation dbt execution engine developed by dbt Labs, built on a Rust foundation for significantly faster compilation and execution. Microsoft and dbt Labs announced a close collaboration at the December 2025 dbt Jobs preview launch, with dbt Fusion integration in Microsoft Fabric planned for calendar year 2026. The Fivetran and dbt Labs merger in 2026 does not affect this roadmap.
dbt job run logs are stored in OneLake and are accessible from within the Fabric workspace. The monitoring interface shows visual insights into dbt runs, test results, and model lineage. Output logs have a 1 MB size limit per run — when exceeded, the job fails with error code 2001. For large projects producing verbose output, scope commands to subsets of models to stay within this limit.
⚠ Accuracy Disclaimer

Information is verified against official Microsoft Learn documentation and the Fabric blog through June 2026. Native dbt Jobs is in Public Preview — adapter support, runtime version, and limitations are subject to change before General Availability. UIG Data Lab is an independent publication, not affiliated with Microsoft Corporation or dbt Labs.

A.J. Data Engineering Researcher & Technical Writer · UIG Data LabAll articles →
A.J. researches and writes about data engineering, analytics architecture, Microsoft Fabric, and modern cloud data platforms. Coverage spans Microsoft Fabric, Power BI, Azure Data Engineering, Databricks, Snowflake, Apache Spark, dbt, Apache Airflow, and modern cloud data infrastructure. The focus is practitioner-level content that helps data professionals understand platform capabilities, evaluate technology decisions, optimize costs, and implement practical solutions using official documentation, product updates, community insights, and industry best practices.
Microsoft FabricdbtData Factorydbt JobsOneLakeCI/CDSQL TransformationData Engineering
Scroll to Top