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
      • Temporary tables
      • External tables
      • Identity columns
      • Default values
      • Sequences
      • Unsupported system features
    • Synapse Analytics to Fabric Warehouse
      • Data types
      • Case sensitivity
      • Named procedure parameters
      • Result set limiting
      • MERGE statements
      • Temporary tables
      • External tables
      • Identity columns
      • Default values
      • Materialized views
      • Create table as select (CTAS)
      • Unsupported system features
    • 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
  • Microsoft training - SQL Tran
    • Introduction
    • Licensing plans
    • Deploying and activating
    • Creating a new project
    • Exploring the Overview screen
    • Inside the Workspace screen
    • Code translation and emulations
      • Data type emulation
      • Case sensitivity emulation
      • Named parameters emulation
      • Result set limiting emulation
      • Merge statements emulation
      • Identity column emulation
      • Default values emulation
      • Detection of unsupported features
Powered by GitBook
On this page
  • Code example
  • Training video example
  1. Microsoft training - SQL Tran
  2. Code translation and emulations

Case sensitivity emulation

PreviousData type emulationNextNamed parameters emulation

Last updated 9 hours ago

Synapse Analytics typically operates in a case-insensitive environment, allowing object names to be referenced in any casing without issue.

However, Microsoft Fabric Warehouse is case-sensitive by default, meaning that differences in letter casing create distinct objects. Inconsistent casing — harmless in Synapse — can lead to runtime errors in Fabric if not properly handled.

SQL Tran automatically addresses this by analyzing the SQL structure and adjusting identifier casing across all usage points. Object names are normalized to match their original definitions, and aliases are rewritten to align with Fabric’s conventions.

This automated correction ensures that code authored in a case-insensitive environment behaves correctly in Fabric’s case-sensitive model, eliminating the need for manual fixes and reducing migration risk.

(For more information, see the following emulation reference page: )


Code example

Synapse Analytics:

CREATE TABLE Customers (
    CustomerID INT,
    Name NVARCHAR(100)
);
GO

SELECT
    c.customerid,
    C.NAME
FROM
    cusTOMers AS C;

Fabric Warehouse (generated by SQL Tran):

CREATE TABLE Customers (
    CustomerID INT,
    Name VARCHAR(200) /* SQLTRAN FIX: NVARCHAR(100) */
);
GO
SELECT
    c.CustomerID /* SQLTRAN FIX: c.customerid */,
    c.Name /* SQLTRAN FIX: C.NAME */
FROM
    Customers /* SQLTRAN FIX: cusTOMers */ AS c /* SQLTRAN FIX: C */;

Training video example

In the example shown, a procedure contains object names with inconsistent casing.

SQL Tran automatically detects these issues and updates the target SQL to restore consistent casing, while adding comments to highlight the adjustments made.

This ensures the code remains functional in Fabric’s case-sensitive environment.

Case sensitivity
Case sensitivity corrections in translated SQL