Microsoft Fabric Warehouse Stored Procedure

Scott M 5 Reputation points
2026-09-15T19:53:36.19+00:00

Hello,

I have a question about how a Fabric Warehouse accesses Lakehouse data.

We have a stored procedure running in a Warehouse that references Lakehouse tables using syntax similar to the example below:

SELECT DISTINCT

end_reason_test

FROM lh_Silver.test.test

WHERE end_reason_test IS NOT NULL;

Could you clarify how the Warehouse retrieves this data?

Specifically:

  1. When a Warehouse query references a Lakehouse table in this manner, is the query executed through the Lakehouse SQL Analytics Endpoint?
  2. Or does the Warehouse access the underlying Delta/Parquet files directly?
  3. If the SQL Analytics Endpoint is involved, does the Warehouse query depend on any metadata synchronization, caching, or propagation processes that could introduce latency?
  4. Are there any documented performance considerations or best practices when using a Warehouse stored procedure to read large volumes of data from a Lakehouse?

The reason I'm asking is that we occasionally notice delays between data being written to the Lakehouse and the data appearing to be available through Warehouse queries. I understand some delay may be expected, but I'd like to better understand the architecture and data access path so we can design appropriately.

Thank you.

SQL Server | SQL Server Transact-SQL
0 comments No comments

2 answers

Sort by: Newest
  1. Erland Sommarskog 137.4K Reputation points MVP Volunteer Moderator
    2026-09-15T20:47:01.5433333+00:00

    A lot better place to ask this question is https://community.fabric.microsoft.com/. Over here, we mainly focus on the old and classic SQL Server.

    Was this answer helpful?

    0 comments No comments

  2. AI answer

    2026-09-15T19:53:59.35+00:00

    A Fabric Warehouse can read Lakehouse data by referencing Delta Lake folders that are automatically represented as tables in the Lakehouse SQL analytics endpoint when they are stored in the Lakehouse /Tables folder. The documented pattern is to reference that data by three-part name notation using the Lakehouse name, schema, and table, for example MyLakehouse.dbo.TaxiTrips.

    Based on the documented behavior:

    1. The Warehouse query uses the Lakehouse SQL representation of the Delta data.
      The documentation states that Delta Lake folders in OneLake are automatically represented as tables in the SQL analytics endpoint for the Lakehouse, and Warehouse T-SQL can read them using three-part naming.
    2. The underlying data is stored in Delta/Parquet in OneLake.
      Fabric stores Lakehouse and Warehouse data in OneLake, and Warehouse user tables are stored in parquet format with Delta Lake logs published. For Lakehouse access from Warehouse, the documented access pattern is through the table representation of Delta folders, not by directly querying raw files with the Lakehouse-style table name syntax.
    3. Metadata publication/synchronization is part of the architecture.
      The documentation explicitly says that for Warehouse tables, after a transaction is committed, a background process publishes the updated Delta Lake log. That confirms there can be a delay between commit and external read visibility through Delta-based access paths. The provided context does not document the exact synchronization or caching internals for Lakehouse-to-Warehouse reads, but it does document that SQL analytics endpoint tables are autogenerated from Delta folders and that Delta log publication can be asynchronous.
    4. For large-volume reads, use Warehouse for governed SQL workloads and Lakehouse for big data processing.
      The documented guidance is:
      • Use Warehouse for structured, high-performance SQL workloads, BI, reporting, ACID transactions, and strong schema enforcement.
      • Use Lakehouse for big data processing and exploratory analytics.
      • Many organizations use both together: Lakehouse for ingestion and transformation, Warehouse for refined analytics and reporting.

    For the delay being observed after writes to the Lakehouse, the supported conclusion from the documentation is that some propagation delay is consistent with Fabric’s Delta-based architecture and autogenerated SQL representations. The context does not provide a documented SLA, cache duration, or a detailed internal execution path beyond that.

    For design guidance from the documented material:

    • If low-latency SQL reporting is required, load or transform the data into the Warehouse rather than repeatedly querying large Lakehouse tables from Warehouse procedures.
    • If the source data is already in the Lakehouse, use CTAS in the Warehouse to materialize the required subset into Warehouse tables.
    • For heavy transformation or large-scale data processing, keep that work in the Lakehouse/Spark layer, then publish refined data to the Warehouse for reporting queries.

    A documented example of materializing Lakehouse data into Warehouse is:

    CREATE TABLE dbo.TaxiTrips_2023
    AS
    SELECT * 
    FROM MyLakehouse.dbo.TaxiTrips 
    WHERE DATEPART(YEAR, tpep_pickup_datetime) = '2023';
    

    That pattern is the clearest documented best practice in the provided material for reducing repeated cross-item reads and improving predictability.


    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.