Forum Discussion
Request for Case‑Insensitive Collation Support in Fabric Spark SQL for SSMS Migrations
We are currently in the process of migrating a large number of SQL Server (SSMS)–based workloads to Microsoft Fabric Spark SQL / Lakehouse notebooks.
In SQL Server, most of our legacy queries rely on case‑insensitive collations (for example, SQL_Latin1_General_CP1_CI_AS). As a result, string comparisons such as attribute names, option‑set values, and metadata fields work seamlessly regardless of casing (camel case, upper case, lower case).
In Fabric Spark SQL, however:
- String value comparisons are case‑sensitive by default
- The spark.sql.caseSensitive setting only affects column names, not string data
- There is currently no way to define or enforce a case‑insensitive collation similar to SQL Server
Because of this difference, when migrating existing SSMS queries to Fabric:
- Queries that worked correctly for years now fail silently or return no data
- Every affected comparison must be manually rewritten using LOWER() / UPPER()
- This change needs to be applied across hundreds of views, CTEs, and joins
- The manual effort is significant and error‑prone, especially for large enterprise DW migrations
From a migration and maintainability standpoint, this creates a major challenge:
- It substantially increases migration effort and timelines
- It introduces risk of missed transformations and data quality issues
- It makes direct parity between SSMS and Fabric difficult to achieve
Request / Ask
We would like to understand if Microsoft Fabric has:
- A roadmap item to support case‑insensitive collations (or equivalent behavior) in Spark SQL
- A recommended platform‑level configuration or abstraction to handle SSMS‑style case‑insensitive comparisons
- Any best‑practice guidance or tooling to reduce the manual refactoring effort during large‑scale migrations
Even a feature such as:
- Session‑level or notebook‑level case‑insensitive string comparison, or
- Table/view‑level collation behavior, or
- A Fabric‑native compatibility mode for SQL Server migrations
would significantly ease enterprise adoption and migration workloads.
We would appreciate your guidance on the best approach going forward and whether this limitation is expected to change in upcoming Fabric releases.
Thank you for your support.
Best regards,
Naveen
7 Replies
- v-hashadapu
Community Support
Hi NaveenUpadhye , Thank you for reaching out to the Microsoft Community Forum.
Fabric Lakehouse notebooks and SQL endpoints run on Apache Spark semantics, where string comparisons are case sensitive by default. The spark.sql.caseSensitive configuration only controls identifier resolution (column and table names), not string value comparison. Unlike Microsoft SQL Server, Spark does not support database or column level collations and there is currently no session level option to enable case insensitive string comparison.
Currently, there is no publicly documented roadmap item indicating that SQL Server style collation behaviour will be added to Spark SQL within Microsoft Fabric Lakehouse. Collation configuration is available in Fabric Warehouse (the SQL engine), but not in the Spark engine. For large migrations, the practical patterns today are to normalize casing at ingestion or introduce compatibility views that centralize UPPER()/LOWER() logic, rather than refactoring every downstream query individually.
Your concern about migration effort and parity is valid, this is an architectural difference that can materially impact large enterprise workloads. If this gap significantly affects your migration strategy, I suggest you to raise it in the Microsoft Fabric Ideas forum so the product team can gauge demand and prioritize accordingly.
What's New? - Microsoft Fabric | Microsoft Learn
What’s new in Fabric Warehouse – July 2025 Recap | Microsoft Fabric Blog | Microsoft Fabric
What is the SQL analytics endpoint for SQL database in Fabric? - Microsoft Fabric | Microsoft Learn
- v-hashadapu
Community Support
Hi NaveenUpadhye , hope you are doing great. May we know if your issue is solved or if you are still experiencing difficulties. Please share the details as it will help the community, especially others with similar issues.
- v-hashadapu
Community Support
Hi NaveenUpadhye , Hope you're doing okay! May we know if it worked for you, or are you still experiencing difficulties? Let us know — your feedback can really help others in the same situation.
- NaveenUpadhye
Advocate I
It's not solved the issue.We are doing it manually everywhere by putting lowercase.
- v-hashadapu
Community Support
Hi NaveenUpadhye , We are very soory to hear that. Hope you raised it in the Ideas forum as requested. If you did, please share the link here for others with similar issues may use it to upvote the Idea, which in turn may make it noticeable to PG team who may bring it as a feature.
Thank you.