The accelerator reads a whole Synapse workspace, SQL pool catalogs, Spark notebooks and pipelines, and builds one inventory with a complexity rating per object. From that it emits Databricks-native equivalents: Unity Catalog Delta DDL, translated T-SQL, remapped notebooks and Workflows as Asset Bundles. Everything it cannot translate honestly is marked and handed to a human.
Synapse Analytics is on a clear end-of-road path, and teams that picked Databricks find the same thing every time. A dedicated SQL pool, a set of Spark notebooks and a pipeline layer that is ADF wearing a different badge each need a different translation strategy. Nobody has a full inventory of what is still running, so the project starts with hand-written discovery.
DISTRIBUTION = HASH, clustered columnstore indexes, resource classes and workload groups have no literal equivalent in Unity Catalog. A naive lift produces Delta tables with a terrible file layout and no one notices until the first month-end run.
Dynamic SQL through sp_executesql, #temp tables, CROSS APPLY, TRY/CATCH, DATEADD argument order, CONVERT style codes. Line-by-line rewriting is slow, and a wrong ISNULL is a wrong number in a report six months later.
Pipelines and notebooks reference linked services, workspace-managed identities and Key Vault entries that map to external locations, storage credentials and secret scopes. The mapping is one-to-many and undocumented, so it gets reconstructed by hand.
It reads the workspace from its Git-connected repository or an ARM export, plus live catalog metadata from the dedicated and serverless SQL pools. Every object gets classified as mechanical, needs review, or needs a design decision. Output lands as reviewable code in a repository, never pushed straight into a workspace.
Parses the Synapse Git repo or ARM export together with SQL pool system catalogs: every table with its distribution, index type, partitioning and column types, every procedure, view, notebook and pipeline, and the lineage between them. Which pipeline calls which notebook, which notebook writes which table, which view no one queries.
Converts dedicated SQL pool DDL to Unity Catalog Delta. Distribution keys and columnstore indexes are translated into a concrete liquid clustering or partitioning proposal based on column cardinality and observed query patterns, rather than dropped on the floor.
Rewrites stored procedures, views and functions with an annotated diff and a comment on every construct that changed meaning. Dynamic SQL, cursors, table variables and transaction blocks are left in place, marked, and routed to a human.
Translates Synapse Spark notebooks to Databricks conventions: mssparkutils calls mapped to dbutils, linked-service reads to Unity Catalog external locations, Key Vault references to secret scopes.
Turns the pipeline activity graph into Databricks Workflows job definitions emitted as Asset Bundles, keeping dependencies, retry behaviour and trigger schedules explicit and reviewable in a pull request instead of rebuilt as click-work.
Groups objects into dependency-safe waves with a complexity rating each, so the estimate comes from the actual workspace. Security models, incremental and SCD logic, and warehouse sizing are surfaced as decisions with context attached, for a human to sign off.
Source side is read-only: workspace Git integration, ARM exports and SQL pool system catalogs. Target side is Azure Databricks with Unity Catalog enabled. The conversion pass combines a T-SQL parser for the deterministic work with Claude for the steps that need judgement about intent, and Git-based review is the delivery mechanism.
We walk through the output together: object counts, the complexity split, the dependency graph, and the list of decisions that need an owner. That session is the honest input to a migration estimate, not a sales deck.