The Evolution: Synapse to Fabric
Understanding what carried forward from Synapse, what changed fundamentally in Fabric, and why migration is now an architecture decision instead of a simple platform swap.
Data Engineer Data Architect Platform Owner IT Admin This page is for teams that already run Azure Synapse Analytics and need a practical view of what moves cleanly to Fabric, what must be redesigned, and when a gradual evolution is smarter than a forced migration.
Azure Synapse Analytics was Microsoft's first major attempt to unify enterprise analytics on Azure. It brought together dedicated SQL pools for MPP warehousing, serverless SQL for ad hoc lake querying, Spark pools for engineering and data science, and pipelines for orchestration. For many organizations, that was a big step forward compared with running separate services for warehousing, integration, and big data processing.
Microsoft Fabric is the next step in that journey, but it is not simply Synapse with a new portal. Fabric is a SaaS analytics platform built around OneLake, where data experiences share storage and metadata by design instead of integrating multiple engines after the fact. The operating model changes as much as the technology stack: teams provision capacity, govern workspaces, and consume shared data products rather than managing a collection of separate PaaS resources.
The practical implication is that migration is also modernization. You can bring forward T-SQL patterns, Spark notebooks, and orchestration logic, but Fabric encourages a different target architecture: one lake-centric copy of data, open Delta formats, Direct Lake for BI, and governance flowing across warehouse, lakehouse, pipeline, notebook, and semantic model assets. That is why the right question is rarely “how do we recreate Synapse in Fabric?” and more often “which workloads should evolve, and which ones should simply move?”
What Changed
- OneLake: Fabric centers on a single logical data lake with shared access patterns instead of multiple siloed storage layers.
- SaaS model: Capacity-based pricing, managed upgrades, and fewer infrastructure knobs replace Synapse-style resource administration.
- Unified compute: SQL, Spark, KQL, and Power BI operate natively against OneLake rather than copying data between engines.
- Direct Lake: Semantic models can read directly from lake files, eliminating many import and duplication patterns.
- Governance built in: Purview integration, lineage, and sensitivity labels are part of the day-one operating model.
What Stays Familiar
- T-SQL skills transfer to Fabric Data Warehouse, SQL analytics endpoints, and semantic modeling patterns.
- Spark and PySpark notebooks transfer conceptually, even when utility libraries or runtime assumptions need refactoring.
- Pipeline patterns transfer because Fabric Data Pipelines retain a familiar activity-based orchestration model.
- Lake-first engineering practices such as Parquet/Delta, partitioning, and notebook modularity remain valuable.
What Is Being Left Behind
- Dedicated SQL pools are on the no-new-investment path; Fabric Data Warehouse is the strategic destination.
- Synapse Link scenarios are increasingly replaced by Fabric Mirroring for lower-latency operational data access.
- Pool-by-pool infrastructure tuning matters less because Fabric shifts optimization toward data layout, workload design, and capacity governance.
Migration Paths
The best target depends on which Synapse capability you actually use today: dedicated warehouse, Spark engineering, or pipeline orchestration.
Most Synapse estates are a mix of workloads, not a single monolith. One workspace might host a dedicated SQL pool used for enterprise reporting, a few Spark notebooks for engineering, and pipelines that coordinate ingestion across multiple sources. Fabric supports all of these patterns, but they do not always migrate with the same tooling, effort, or level of compatibility. Treat each workload family as its own migration stream.
The three most common paths are Dedicated SQL Pool to Fabric Data Warehouse, Spark Pools to Fabric Lakehouse/Data Engineering, and Synapse Pipelines to Fabric Data Pipelines. A successful program often combines all three, but prioritizes them differently depending on business value, decommission pressure, and how much modernization the team wants to absorb in the same initiative.
In practice, the path choice should be tied to your target operating model. If Fabric will become the strategic analytics platform, move toward native experiences instead of preserving legacy boundaries. If coexistence is expected for a while, choose the path that reduces risk first and optimize later.
Dedicated SQL Pools → Fabric Data Warehouse
This is the most common migration path for Synapse customers with enterprise BI workloads, dimensional models, and stored procedure-heavy reporting marts. T-SQL compatibility is high enough to accelerate migration, but not identical, so schema and query validation still matter.
- T-SQL compatibility with some data type and feature adjustments
- Migration Assistant available natively in Fabric
- Best fit when the current workload is warehouse-centric and consumed by Power BI or SQL users
Spark Pools → Fabric Lakehouse/Data Engineering
This path covers notebooks, Spark Job Definitions, libraries, and Lake Databases. The technical move is rarely just copy-and-paste because runtime behavior, utilities, and metadata handling can differ, which is why Microsoft promotes a four-phase migration methodology.
- Targets Fabric Notebooks, Spark Job Definitions, and Lakehouse catalogs
- Spark Migration Assistant available in public preview
- Best fit when engineering teams want to adopt Delta-first patterns and shared OneLake governance
Synapse Pipelines → Fabric Data Pipelines
Pipeline migration is typically high compatibility because the activity model is familiar to ADF and Synapse users. The main adjustment is the surrounding platform model: Fabric connections, workspace-scoped items, and newer Git/deployment approaches replace some Synapse-era linked service assumptions.
- Strong activity-level similarity for orchestration, copy, and scheduling
- Migration can be manual recreation or script-assisted, depending on complexity
- Key difference: connections model replaces much of the old linked-services mindset
Migration Patterns
Choose the delivery pattern that matches your risk tolerance, technical debt, and business deadlines—not just the migration tooling.
A migration path tells you where a workload goes; a migration pattern tells you how you move it. This is often the more important decision. Two teams can migrate the same Synapse warehouse to Fabric and have completely different outcomes depending on whether they copy the design as-is, modernize in waves, or run both platforms in parallel until outputs are proven equivalent.
The right pattern depends on more than technology. Fixed contract or renewal deadlines tend to favor faster approaches. High technical debt, fragmented ownership, or a desire to standardize on Delta, Direct Lake, and medallion architecture usually favors staged modernization. Mission-critical finance or regulatory workloads often justify a longer, more expensive dual-run period because the tolerance for regression is close to zero.
Most large enterprises end up using more than one pattern: lift-and-shift for low-risk marts, phased modernization for strategic platforms, and parallel run for the few workloads that cannot afford surprises.
Lift-and-Shift
Move everything as quickly as possible with minimal design change. The goal is fast relocation, not optimization.
- Best for: Small or clean workspaces, hard decommission dates, low technical debt
- Risk: Carries forward anti-patterns and misses Fabric-native improvements
- Time: Fastest option
Phased Modernization
Migrate in increments based on workload priority while re-engineering the target design. This is where teams intentionally adopt Delta-first storage, V-Order optimization, Direct Lake, and cleaner medallion boundaries.
- Best for: Large legacy estates, mixed workload quality, modernization-driven programs
- Risk: Longer coexistence and more architectural decisions to manage
- Time: Moderate to long
Parallel Run
Operate Synapse and Fabric simultaneously during transition, validate outputs, then cut over only when equivalence is proven.
- Best for: Mission-critical workloads with no room for regression
- Risk: Double cost and operational overhead during transition
- Time: Longest option
| Factor | Lift-and-Shift | Phased Modernization | Parallel Run |
|---|---|---|---|
| Timeline pressure | High | Low-Medium | Low |
| Technical debt | Low | High | Any |
| Risk tolerance | Medium | Medium | Low |
| Budget for dual-run | No | Partial | Yes |
| Modernization opportunity | None | High | Medium |
Data Warehouse Migration Deep Dive
How to move dedicated SQL pool workloads into Fabric Data Warehouse with realistic expectations around compatibility, performance, and modernization.
Dedicated SQL pool migrations are often the centerpiece of a Synapse-to-Fabric program because they anchor core reporting, finance, and governed semantic models. The good news is that the transition is approachable for SQL-first teams: schemas, views, functions, procedures, and security constructs can move with assistance. The caution is that Fabric Data Warehouse is not the same engine under a new SKU, so query behavior and physical design assumptions need to be retested.
Think about the warehouse migration as a lifecycle, not a one-time cutover. Teams that succeed usually move through Assess & Evaluate, Plan & Design, Migrate, Monitor & Govern, and Optimize & Modernize. That last phase matters because many Synapse warehouses were tuned around distributions, indexes, and staging patterns that do not map one-for-one to Fabric.
Your first milestone should be compatibility, not perfection. Stand up a non-production Fabric warehouse, migrate representative schema, validate row counts and key query outputs, then begin performance tuning in the Fabric-native way. Once confidence is established, you can decide where to preserve the warehouse model and where to push more transformation work upstream into Delta lakehouse layers.
Data Type Mapping
Most common data types map predictably, but explicit review matters because precision, encoding, or semantic behavior can change. Data type mismatches can quietly create downstream issues in Power BI models, ETL logic, and application exports.
| Synapse Dedicated SQL Pool | Fabric Data Warehouse | Notes |
|---|---|---|
| money | decimal(19,4) | Explicit precision |
| datetime | datetime2 | Higher precision |
| nvarchar(n) | varchar(n) | UTF-8 by default |
| tinyint | smallint | Wider range |
| datetimeoffset | datetime2 | Timezone handled differently |
| geometry/geography | Not supported | Use alternative patterns |
Migration Assistant
Fabric includes a native Migration Assistant, so warehouse teams do not need to install separate tooling just to begin assessment and conversion. It supports DACPAC upload today and direct connection in preview, which gives teams flexibility depending on network, access, and source-environment constraints.
The assistant can migrate tables, views, functions, stored procedures, and security artifacts such as roles, permissions, and dynamic data masking. Where T-SQL incompatibilities are detected, Copilot-assisted fixes can help accelerate remediation rather than forcing every unsupported pattern to be rewritten manually. It also supports selected migration scenarios from SQL Server OLAP environments, which is useful for customers consolidating broader SQL estates into Fabric.
Some T-SQL features are not supported or behave differently in Fabric Data Warehouse. Review constructs such as MERGE, platform-specific distribution assumptions, and certain advanced query patterns before declaring a workload production-ready.
Fabric Data Warehouse uses a different physical model from Synapse dedicated SQL pool. There are no user-managed distributions or traditional index strategies to recreate one-for-one, so performance tuning shifts toward schema design, data layout, and workload shape.
Start with non-production, migrate a realistic slice of data, and validate row counts, aggregates, and critical report outputs before cutover. Functionality parity is the first gate; optimization comes next.
Spark Migration Deep Dive
Moving notebooks, Spark jobs, lake metadata, and engineering workflows into Fabric's shared-capacity lakehouse model.
Spark migrations tend to be less about SQL compatibility and more about runtime behavior, metadata design, and workflow assumptions. Synapse Spark pools gave teams explicit compute constructs, environment choices, and utility conventions that may be embedded in notebooks, libraries, and job definitions. Fabric keeps the Spark experience familiar, but the operational model changes because compute is aligned to workspace and capacity rather than dedicated pools.
That is why Microsoft frames Spark migration as a four-phase methodology. Teams need to assess scope, move workloads, handle Hive metastore and lake metadata, and then close the gap on governance and security. Skipping those phases often leads to copied notebooks that technically run but are disconnected from target data products, secrets, permissions, or deployment processes.
A second major distinction is that moving Spark items is not the same as moving data. The Spark Migration Assistant helps with notebooks, job definitions, and code translation, but data relocation or virtualization still needs its own plan—often through shortcuts, Delta conversion, or copy patterns staged around OneLake.
4-Phase Methodology
1. Strategy & Planning
Assess the Spark footprint, choose a migration pattern, define success criteria, and identify the highest-value workloads to pilot first.
2. Spark Workload Migration
Migrate notebooks, Spark Job Definitions, pools, libraries, and refactor code where Fabric runtimes or APIs differ.
3. Hive Metastore & Data Migration
Move databases and tables, distinguish managed versus external assets, and decide whether data should be copied, virtualized, or shortcut into OneLake.
4. Security & Governance
Recreate roles and connections, validate permissions and secrets, test end-to-end workloads, and prepare the final cutover plan.
Workload Mapping
| Synapse Workload | Fabric Destination | Migration Tool |
|---|---|---|
| Spark Pools | Fabric Spark (Lakehouse) | Spark Migration Assistant |
| Notebooks | Fabric Notebooks | Spark Migration Assistant + refactoring |
| Spark Job Definitions | Fabric SJDs | Spark Migration Assistant |
| Lake Databases | Fabric Lakehouse catalog | Spark Migration Assistant (Delta via shortcuts) |
| Hive Metastore | Fabric Lakehouse catalog | HMS export/import notebooks |
| Linked Services | Fabric Connections / Key Vault | Manual recreation |
Spark versions may differ, Synapse-specific helpers may need to be replaced by mssparkutils or Fabric equivalents, library management moves toward workspace or environment-level governance, and dedicated Spark pools give way to a shared capacity model. These differences are manageable, but they need to be tested deliberately in pilot workloads.
Spark Migration Assistant
The Spark Migration Assistant is in public preview and is designed to copy and transform Spark items from Synapse into Fabric. Its value is in accelerating repetitive work—especially notebook and job definition translation—while giving teams a baseline they can then refactor and validate.
It is important to set expectations correctly: the assistant does not move data. Data must be migrated or virtualized separately through shortcuts, copy activities, or lake conversion strategies. The tool helps bridge API and code differences, but governance, testing, dependency handling, and cutover planning remain part of the broader migration program.
Migration Tools & Resources
Use platform-native tools first, then fill gaps with open-source assessment and export tooling.
Migration projects slow down when teams spend too much time building custom discovery scripts before using the tooling Microsoft already provides. Fabric now includes purpose-built assistants for the two most important workload families—warehouse and Spark—while the open-source ecosystem adds useful estate assessment and planning capabilities.
The best toolchain is usually layered: assess the Synapse estate, size the target Fabric capacity, export or connect source metadata, run the native assistants, and then validate manually where business logic and performance matter most. Tooling should accelerate the work, not replace architecture review or testing.
Use the resources below as the standard baseline for a serious migration initiative.
Fabric Migration Assistant (Data Warehouse)
Built directly into Fabric for warehouse migration. Supports DACPAC uploads and direct connection scenarios, with AI-assisted remediation for incompatible T-SQL.
Spark Migration Assistant
Public preview tool for copying Spark items, transforming notebooks and job definitions, and accelerating Spark migration analysis and refactoring.
Fabric Assessment Tool
Open-source GitHub tool that scans a Synapse workspace and produces a migration scope report, helping teams understand footprint, dependencies, and complexity up front.
Fabric Capacity Estimator
Helps size the target capacity before cutover so warehouse, Spark, Power BI, and pipeline workloads land on a realistic Fabric SKU.
DACPAC Export (SQL Server Data Tools)
Useful when you need a portable schema artifact from Synapse dedicated SQL pool for Migration Assistant ingestion, review, or version-controlled handoff.
Migration Best Practices
The highest-value habits are the ones that reduce surprises: assess early, validate aggressively, and design for Fabric rather than emulating Synapse forever.
Migration failures are usually caused less by tooling gaps and more by weak planning assumptions. Teams underestimate hidden dependencies, carry forward patterns that conflict with OneLake, or treat validation as a last-mile exercise. A better approach is to make migration an explicitly governed program with documented decisions, pilot workloads, validation criteria, and rollback thinking from the start.
Fabric also creates an opportunity to improve operating practices. Because storage, analytics, and BI live closer together, the migration should include decisions about governance, CI/CD, semantic models, and capacity monitoring—not just schema conversion or notebook relocation.
The following practices consistently reduce risk and increase long-term value.
1. Assess before you move
Use the Fabric Assessment Tool to understand scope, unsupported features, dependency chains, and which workloads can move first.
2. Start with non-production
Validate compatibility, test performance, and let delivery teams learn the platform before production deadlines are in play.
3. Data first, then compute
Use OneLake shortcuts to existing ADLS data where possible so you can establish a lake-centric target before replatforming every engine.
4. Adopt lakehouse patterns
Do not merely recreate warehouse-only designs. Embrace Delta, medallion architecture, and Direct Lake where they improve simplicity and freshness.
5. Plan for coexistence
Budget for a transition period where Synapse and Fabric both exist. Dual-run is common even when it is not the end-state.
6. Validate outputs
Compare row counts, aggregates, business KPIs, and report outputs between source and target—not just whether pipelines completed successfully.
7. Retrain teams
Fabric is familiar but meaningfully different. Build enablement plans around DP-600, DP-700, and hands-on pilot work.
8. Update CI/CD
Shift from Synapse Git integration patterns toward Fabric Git integration and Deployment Pipelines, including new environment configuration rules.
9. Monitor post-migration
Use the Capacity Metrics App and operational monitoring to confirm that target workloads fit within capacity and remain performant over time.
10. Document everything
Capture decisions, mappings, known issues, cutover checklists, and rollback procedures so the migration is repeatable and supportable.
Migration Planning Timeline
Think in phases instead of dates: discovery, foundations, pilot, waves, and then post-cutover optimization.
Every successful migration program needs a sequence that teams can rally around, but fixed durations are less useful than clear phase outcomes. A small warehouse migration might complete quickly, while a multi-workload estate with governance redesign and parallel validation will naturally take longer. What matters most is that each phase has a purpose, exit criteria, and ownership.
The timeline below works well because it reflects how risk should be reduced over time. Start by understanding the estate, build the Fabric landing zone, prove the target with a pilot, then move through managed waves rather than one giant release event. Only after the workloads are stable should you focus on deeper optimization and final retirement of Synapse resources.
Use these phases as a communication model with engineering, platform, security, and business stakeholders.
Phase 1: Discovery & Assessment
- Inventory all Synapse workloads
- Run Fabric Assessment Tool
- Identify dependencies and data flows
- Classify workloads by migration pattern
Phase 2: Foundation Setup
- Provision Fabric capacity
- Set up workspaces, security, and Git integration
- Establish OneLake shortcuts to existing data
- Configure monitoring
Phase 3: Pilot Migration
- Select 1-2 non-critical workloads
- Migrate using chosen tools
- Validate functionality and performance
- Document lessons learned
Phase 4: Wave Migration
- Migrate in planned waves by priority
- Each wave: migrate → validate → cutover → decommission source
- Maintain parallel run for critical workloads
Phase 5: Optimization & Decommission
- Optimize for Fabric-native patterns
- Adopt Direct Lake, V-Order, and Delta optimization
- Decommission Synapse resources
- Update governance and documentation
Should You Migrate?
A practical decision framework for deciding whether to move now, wait for specific gaps to close, or run a coexistence strategy.
Not every Synapse customer should execute a full migration immediately. Some organizations have a strong strategic reason to move now: warehouse-heavy estates, existing Fabric capacity, pressure to simplify platform operations, or new greenfield initiatives already being built in Fabric. Others have legitimate reasons to pause, especially when they depend on niche features, complex pipeline behaviors, or tightly constrained regulatory operating models.
The healthiest migration decision is usually portfolio-based rather than absolute. You might migrate dedicated SQL pool workloads now, keep a handful of specialized Synapse pipelines for a while, and let some serverless or lake-connected workloads coexist while teams retrain. What matters is that the decision is intentional, documented, and tied to business priorities rather than vendor messaging alone.
Use the scenarios below as a conversation starter with architecture, operations, and business sponsors.
Choose an accelerated Fabric path if you have a Synapse dedicated SQL pool with no major new development planned, your Power BI estate already aligns with Fabric capacity, the organization is standardizing on a unified SaaS model, or new analytics projects are already greenfield in Fabric.
Pause and assess further if you rely heavily on features not yet mature in Fabric, such as certain T-SQL edge cases or Synapse Link-dependent designs; if you run complex pipelines with many linked services; if regulatory constraints require certifications you still need to confirm; or if the delivery team simply lacks migration bandwidth.
Plan for coexistence when you manage a large mixed-maturity estate, need gradual budget transition, or have some workloads—such as serverless and lake-oriented data access patterns—that already align well with OneLake shortcuts and do not need an immediate hard cutover.