Skip to content
METRIC OAK

New: the 3-week Data Platform Assessment: fixed fee, priced roadmap. See what's included →

Migration

Azure Synapse to Databricks migration: dedicated pools, Spark and pipelines

How to migrate Azure Synapse Analytics to Azure Databricks: dedicated SQL pools to Delta and Databricks SQL, T-SQL conversion, Synapse Spark notebooks, serverless views over ADLS, pipelines and Power BI.

Hemant Walchale

Hemant Walchale
· 2 min read

Azure Synapse customers now have two natural successors: Microsoft Fabric and Azure Databricks. Databricks is the common choice for organizations where data engineering, machine learning and AI matter as much as reporting, or that want the same platform across clouds. Each Synapse component has a clear destination.

This is the approach we recommend.

1. Inventory

List dedicated SQL pool objects (tables, views, procedures), serverless SQL pool views, Synapse pipelines and data flows, Spark pools with notebooks and libraries, linked services, triggers and Power BI datasets. Run history shows what is used; retire the rest.

2. Map Synapse to Databricks

Azure Synapse On Azure Databricks
Dedicated SQL pool tables Delta tables in Unity Catalog
DISTRIBUTION (HASH, ROUND_ROBIN, REPLICATE), columnstore indexes Not needed; liquid clustering for large filtered tables
Dedicated pool stored procedures (T-SQL) Databricks SQL or Python; rewrite procedural logic
Serverless SQL views over ADLS Unity Catalog external tables or Delta tables on the same storage
Spark pools and notebooks Databricks notebooks and jobs (mssparkutils → dbutils)
Synapse pipelines and data flows Lakeflow Jobs and Lakeflow Declarative Pipelines (or keep Azure Data Factory for orchestration)
Linked services and credentials Unity Catalog connections, storage credentials and secret scopes
Triggers Job schedules and file-arrival triggers
Power BI on Synapse Power BI on Databricks SQL warehouses

3. Convert T-SQL

Dedicated pool T-SQL converts to Spark SQL with common changes: TOP to LIMIT, ISNULL to COALESCE, + string concatenation to concat() or ||, CTAS distribution options removed, temporary tables to temporary views, and TRY...CATCH procedural logic rewritten. Test date functions and implicit conversions.

4. Reconcile, repoint and pause pools

Compare every migrated table by domain, repoint Power BI datasets to Databricks SQL warehouses once owners sign off, then pause and delete dedicated SQL pools and Spark pools as domains move.

The short version

Register existing lake data in Unity Catalog instead of copying it, load dedicated pool tables as Delta, drop distribution settings, convert T-SQL, port Spark notebooks, rebuild pipelines as Lakeflow Jobs, reconcile, repoint Power BI and pause pools by domain.

Compare with Synapse to Microsoft Fabric and Databricks vs Microsoft Fabric, or browse all migration guides.

Not sure where your own platform stands? Take the free 3-minute data platform scorecard, or see how we work on Databricks. Unfamiliar terms are explained in the data engineering glossary.

Frequently asked questions

Do Synapse Spark notebooks run on Databricks?

Mostly. PySpark and Spark SQL code is portable. Replace Synapse-specific utilities (mssparkutils) with Databricks equivalents (dbutils), update storage paths and library management, and run the notebooks on Databricks job compute.

Do we have to copy the data in our data lake?

Not necessarily. Data already in ADLS Gen2 can be registered in Unity Catalog as external tables and, if it is Parquet, converted to Delta in place. Only dedicated SQL pool tables need to be exported and loaded.

Should we move to Microsoft Fabric or Databricks?

Fabric suits Microsoft-standardized, Power BI-led organizations that want one SaaS platform. Databricks suits engineering-heavy teams, machine learning and multi-cloud estates. See our comparison of Databricks and Microsoft Fabric.

Have 30 minutes? Get a senior architect’s view of your data platform.

No sales deck. You talk to the engineer who would lead the work.

Book an architecture review