There’s no single button that does this for you. Microsoft has released tooling for parts of the journey, but a migration is still a project with phases, and it should be done carefully.
- Assess before you touch anything
Inventory every SQL pool, Spark pool, pipeline, linked service and notebook. More importantly, inventory every downstream consumer: Power BI reports, scheduled jobs, external APIs, anything that reads from Synapse. The data itself rarely breaks a cutover. What breaks it is all the things pointing at the old platform: connection strings, refresh schedules and report data sources that still expect Synapse to be there.
For the Spark side, Microsoft’s Fabric Assessment Tool scans a Synapse workspace and reports objects, dependencies and compatibility blockers. Run it first.
- Design the OneLake target
Decide on your workspace and domain layout. Then your capacity sizing, plus how you’ll layer the data. The usual starting point is a medallion architecture, which organises data into three tiers: bronze for raw data as it arrives, silver for cleaned and validated data, and gold for the business-ready tables that reports run on.
Use OneLake shortcuts to reference your existing ADLS Gen2 data rather than copying it during the transition. That keeps the two environments consistent while you move.
- Map each component to its Fabric equivalent
This is the core of the work. Each path has its own tooling and quirks:
- Dedicated SQL pool to Fabric Warehouse. The Fabric Migration Assistant for Data Warehouse is the closest thing to a dedicated Synapse to Fabric migration tool. It takes a DACPAC export (or connects directly to the source), translates schemas and stored procedures, flags T-SQL that isn’t supported, and copies the data. It won’t fix everything, but it does the mechanical lifting.
- Synapse Pipelines to Fabric Data Factory. The two share a lineage and most activities and connectors map across, but pipelines generally need to be recreated in Fabric rather than imported. Mapping Data Flows are not supported at all and must be rebuilt as Dataflow Gen2. If you’re planning how to migrate Synapse pipelines to Fabric, budget for a rebuild with reuse, not a lift and shift. Our guide to testing in Azure Data Factory is worth revisiting here, since rebuilt pipelines need the same validation discipline.
- Spark notebooks to Fabric notebooks. Notebooks migrate well in principle, but Synapse-specific utilities need refactoring (more on that below). Microsoft’s Spark workload migration guide covers pools, environments and libraries as well as the notebooks themselves.
- Serverless SQL pool to Lakehouse SQL analytics endpoint. Queries over lake files map naturally to the SQL endpoint that every Fabric Lakehouse exposes.
- Pilot one domain end to end
Pick a self-contained data product with a clear owner and move it fully: ingest, transform, serve, report. Prove the pattern works before scaling it, and give your team hands-on time with Fabric before the stakes get higher.
- Migrate domain by domain, in parallel
Run Synapse and Fabric side by side for each domain. Reconcile row counts, aggregates and report outputs against the Synapse baseline before pointing any consumer at Fabric. Once a domain is validated, freeze the Synapse equivalent, keep it read-only for a defined soak period, then decommission it.
- Treat it as a software project
Fabric has native Git integration with Azure DevOps and GitHub. Put notebooks, dataflows and semantic models under version control from day one, and set up deployment pipelines (dev, test, production). The migration should leave you with a better delivery process than you started with.