SQL Tran Docs
  • Overview
    • About
    • Getting started
    • Object lifecycle
    • Why is there no AI inside?
    • Performance considerations
    • Security considerations
    • Assessment
    • Unlocking projects
    • Interface walk-through
    • Translation scenarios
    • Prerequisites for Azure Marketplace deployment
  • Emulation Scenarios
    • Emulation in SQL Tran
    • SQL Server to Fabric Warehouse
      • Data types
      • Case sensitivity
      • Cursors
        • Basic cursor loop
        • Cursor types
        • Fetch direction modes
        • Cursors in control flow
        • Nested cursors
        • Data modification cursors
        • Multiple cursors
        • Subqueries and filtering
      • Named procedure parameters
      • Result set limiting
      • MERGE statements
      • Computed columns
      • External tables
      • Identity columns
      • Default values
      • Sequences
      • Unsupported system objects
    • Synapse Analytics to Fabric Warehouse
      • Emulations
      • Limitations
    • SQL Server to Synapse Analytics
    • Oracle to PostgreSQL
  • Project wizard
    • Source database
    • Target database
    • Wrapping up
  • Projects
    • Project list
    • Overview
    • Workspace
    • Reports
    • Tests
    • Scratch pad
    • Settings
      • Project name
      • Mapping
      • Database connections
    • Navigation
    • Object complexity
    • Static analysis
    • Translation errors
    • Exporting and importing projects
  • Workspace
    • Object tree
    • Data lineage
    • Code
    • Actions
      • Overriding source
      • Overriding target
      • Ignoring objects
  • Tests
    • Workflow
    • Configure SQL Tran
    • Connecting to databases
      • Fabric Warehouse
      • Synapse Dedicated SQL Pool
      • Azure SQL Database, Azure SQL Managed Instance, Microsoft SQL Server
    • Tables
    • Views
    • Procedures
    • Functions
    • Triggers
    • Performance tests
  • Scripter
    • About
    • Supported databases
    • SQL Server
    • Azure SQL
    • Synapse Dedicated Pool
    • Oracle
    • PostgreSQL
    • MySQL
Powered by GitBook
On this page
  • Emulation context
  • Emulation strategy
  • Code example
  • Important notes
  1. Emulation Scenarios
  2. SQL Server to Fabric Warehouse

Unsupported system objects

Emulation context

In Microsoft SQL Server, 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.sequences, sys.objects, sys.dm_* views

  • CREATE USER, ALTER DATABASE, and DBCC commands

However, Microsoft Fabric Warehouse does not support system-level operations or low-level configuration objects. Fabric exposes only a limited metadata surface and does not allow direct manipulation of roles, users, database configuration, or extended diagnostics using T-SQL. These system objects must be removed or restructured during migration.


Emulation strategy

SQL Tran does not emulate or rewrite system-level objects. 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

SQL Server:

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

	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 COMMITTED;

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

Important notes

  • System procedures are not supported: SQL Server 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 like sys.sequences are unsupported: SQL Tran preserves references to system catalog views like sys.sequences, but they are flagged with diagnostic comments. These views are not available in Fabric and may produce errors or empty results.

  • XML methods are flagged: SQL Tran identifies unsupported XML methods such as .value() and flags them inline with /* SQLTRAN FIX */ and -- SQLTRAN FABRIC LIMITATION:. These are not supported in Fabric’s SQL engine.

  • 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.

PreviousSequencesNextSynapse Analytics to Fabric Warehouse

Last updated 4 days ago

Unsupported system object emulation in SQL Tran