Unsupported system features

Emulation context

In Synapse Analytics, system objects such as built-in stored procedures, system catalog views, user and login commands, and DBCC utilities are frequently used for diagnostics, metadata inspection, and server-level configuration. These include objects like:

  • sp_addrolemember, sp_showspaceused, sp_set_firewall_rule

  • sys.dm_* views

  • CREATE USER, ALTER DATABASE, and DBCC commands

However, Microsoft Fabric Warehouse supports only a limited subset of system-level operations and configuration objects, excluding many features commonly used for administration and diagnostics. Fabric does not allow direct manipulation of roles, users, database configuration, or extended diagnostics using T-SQL. These system features must be removed or restructured during migration.


Emulation strategy

SQL Tran does not emulate or rewrite system-level constructs. Instead:

  • For traceability purposes, unsupported system commands and procedures are commented out using: /* SQLTRAN FIX: ... */

  • Certain T-SQL features and constructs are flagged using diagnostic comments such as: -- SQLTRAN FABRIC LIMITATION:

  • No transformation or replacement logic is generated, as these constructs have no equivalent in Fabric's SQL surface.

  • SQL Tran preserves the original structure to allow downstream review and manual rewriting.


Code example

Synapse Analytics:

CREATE PROCEDURE [dbo].[GetPromotedPeople]
AS
BEGIN
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

	SELECT BusinessEntityID, FirstName, LastName, EmailPromotion
	FROM Person.Person
	WHERE EmailPromotion > 0
	ORDER BY EmailPromotion DESC;
END;

Fabric Warehouse (generated by SQL Tran):

-- SQLTRAN FABRIC LIMITATION: -- SET TRANSACTION ISOLATION LEVEL
CREATE PROCEDURE [dbo].[GetPromotedPeople]
AS
BEGIN
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

	SELECT BusinessEntityID, FirstName, LastName, EmailPromotion
	FROM Person.Person
	WHERE EmailPromotion > 0
	ORDER BY EmailPromotion DESC;
END;
Unsupported feature emulation in SQL Tran

Important notes

  • System procedures are not supported: Synapse built-in procedures such as sp_addrolemember, sp_helpuser, sp_set_firewall_rule, and sp_showspaceused are not available in Fabric and are commented out by SQL Tran.

  • DBCC and administrative commands are removed: DBCC statements like CHECKDB, USEROPTIONS, and platform-level commands such as CREATE USER or ALTER DATABASE are not supported in Fabric and are commented out.

  • System views are selectively supported: While many system catalog views are not available in Fabric, others like sys.objects are accessible. SQL Tran only flags unsupported views.

  • Unsupported system clauses and special constructs: SQL Tran flags T-SQL clauses and constructs that are not classified as system objects but are unsupported in Fabric, including: $PARTITION, FOR JSON, FOR XML, FOR BROWSE, and recursive common table expressions (CTEs). These are preserved in the translated output but must be manually replaced or removed.

  • No emulation or fallback is generated: SQL Tran does not attempt to simulate or replace unsupported system objects or features. All such usage must be manually reviewed.

  • Manual review required: Any logic that depends on system-level behavior, metadata access, or administrative commands must be reviewed and rewritten using Fabric-compatible ingestion tools, platform APIs, or equivalent logic external to the warehouse SQL surface.

Last updated