Synapse Analytics to Fabric Warehouse

Synapse Analytics migration to Fabric Warehouse means modernization to a new architecture, one working with open Parquet format.

SQL Tran emulates the functionality no longer relevant in Fabric (like materialized views), rewrites the code for constructs not yet available in Fabric (like MERGE statements) and even provides extensive rewrites for identity columns and temporary tables usage, where Fabric has yet to release support but what one can expect to find in every single database to be migrated.


Emulations

  • External tables are transformed into standard tables

  • Materialized views are transformed into standard views

  • MERGE statements are transformed into equivalent combination of DELETE, UPDATE, and INSERT statements

  • Identity columns are transformed into standard columns and all statements inserting data into tables are modified to insert monotonously-increasing values into the now standard (big)int columns

  • Database-wide name references are rewritten so that case-insensitive code won't break in case-sensitive Fabric Warehouse

  • SET ROWCOUNT is deleted and statements after it are transformed to achieve the same effect. In cases where static analysis cannot determine correct transformation, a limitation is reported instead.

  • Named EXEC parameters are refactored to positional parameters


Limitations

  • Invalid schema name (containing \ or /)

  • ALTER TABLE (ADD/DROP and all ALTER COLUMN except ADD/DROP MASKED)

  • CREATE ROLE

  • CREATE USER

  • FOR BROWSE/XML/JSON

  • SET TRANSACTION ISOLATION LEVEL

  • SET ROWCOUNT. Note that in cases where we can emulate it the error is not reported.

  • SET RESULT_SET_CACHING

  • SP_SHOWSPACEUSED

  • MULTI-COLUMN STATISTIC

  • RECURSIVE QUERY

  • PREDICT

  • $PARTITION

  • Unsupported functions - the ones returning errors in Fabric and some that work but return invalid value

  • XML methods

  • system views (sys.sequences, sys.dm_pdw_*)

Last updated