Forum Discussion

ShanthanPaladi's avatar
ShanthanPaladi
Regular Visitor
5 months ago
Solved

Foreign Key Constraints Behavior After Mirroring SQL Server to Fabric

Hi Team,   I have mirrored an on-premises Microsoft SQL Server database into Microsoft Fabric using the mirroring feature.   In the source database, multiple tables have foreign key constraints d...
  • ssrithar's avatar
    5 months ago

    Hi ShanthanPaladi ,

     

    Yes, this is expected behavior. The Fabric mirroring process only replicates data — it does not carry over DDL schema objects like foreign key constraints from the source SQL Server. More importantly, the SQL Analytics Endpoint in Fabric is a read-only, auto-generated view over the underlying Delta/Parquet files in OneLake. Any schema-level changes you make directly on the SQL Analytics Endpoint (including manually adding foreign keys) can be lost or overridden when the mirroring sync refreshes the metadata or when the endpoint regenerates its schema.

     

    This is a fundamental architectural difference from on-premises SQL Server. Fabric is an analytics platform, not a transactional one, and its constraint system is intentionally non-enforcing.

     

    If this post helps, then please appreciate giving a Kudos or accepting as a Solution to help the other members find it more quickly.
    If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!

  • deborshi_nag's avatar
    5 months ago

    Hello ShanthanPaladi 

     

    This is expected behaviour. The mirrored database, available as a SQL analytics endpoint, is read-only. You are only allowed to analyze data in delta tables using a no code visual query editor or T-SQL to create views, functions, stored procedures, and apply SQL security - you can't apply DDL constructs! 

     

    In summary, in Fabric Mirroring:

    • Foreign keys are not replicated
    • The SQL analytics endpoint is read‑only
    • Constraints you manually add are not retained

    Therefore:

    • ARI (Assume Referential INtegrity) is the correct analytical substitute for missing physical constraints
    • Integrity should be enforced in the source SQL Server
    • ARI tells Fabric: “Trust the source system”

    This is the recommended pattern for mirrored databases on Fabric at this time.