Forum Discussion

AnHell's avatar
AnHell
Helper I
7 months ago
Solved

Capacity consumed by SQL Database

Hello,

 

I have a Fabric database of the SQL Database type (not a Warehouse).

 

In this database, I have a single table with 16 million records.

 

I create a Power Bi on desktop that downloads part of this table, around 1 million records.

 

When I do this, in the Fabric Capacity Metrics report I see many connections of this type appear:
* Item kind: SQLDbNative
* Operation: Sql Usage
* User: SQL System

 

Each of these connections consumes between 3% and 6% of the capacity, easily causing the capacity to exceed 100%.

 

If the database is a Warehouse type, this does not happen.

 

Why does capacity consumption skyrocket when downloading data from a table of this type of database?

 

Thanks in advance!

  • Hi AnHell,

     

    This behaviour is expected and relates to how SQL Database items in Fabric consume capacity compared to Warehouse items.

    βœ… Why does capacity consumption spike with SQL Database?

    • A Fabric SQL Database uses SQLDbNative operations for queries. When Power BI connects and pulls 1 million rows, it executes large queries directly against the database engine.
    • These queries are not optimised for analytical workloads like Warehouses are. Warehouses use distributed compute and caching, while SQL Databases behave more like traditional OLTP systems.
    • Each query consumes compute resources from your Fabric capacity. For large extracts, multiple parallel operations can easily push usage above 100%.

    βœ… Why is Warehouse different?

    • Warehouses in Fabric are designed for analytical queries and leverage Direct Lake caching and distributed execution.
    • When Power BI queries a Warehouse, the engine can optimise and scale better, reducing the per-query capacity footprint.

     

    Official References:

    SQL database Overview - Microsoft Fabric | Microsoft Learn

     

    If this response was helpful in any way, I’d gladly accept a πŸ‘much like the joy of seeing a DAX measure work first time without needing another FILTER.

    Please mark it as the correct solution. It helps other community members find their way faster (and saves them from another endless loop πŸŒ€.

3 Replies

  • Hi AnHell,

     

    This behaviour is expected and relates to how SQL Database items in Fabric consume capacity compared to Warehouse items.

    βœ… Why does capacity consumption spike with SQL Database?

    • A Fabric SQL Database uses SQLDbNative operations for queries. When Power BI connects and pulls 1 million rows, it executes large queries directly against the database engine.
    • These queries are not optimised for analytical workloads like Warehouses are. Warehouses use distributed compute and caching, while SQL Databases behave more like traditional OLTP systems.
    • Each query consumes compute resources from your Fabric capacity. For large extracts, multiple parallel operations can easily push usage above 100%.

    βœ… Why is Warehouse different?

    • Warehouses in Fabric are designed for analytical queries and leverage Direct Lake caching and distributed execution.
    • When Power BI queries a Warehouse, the engine can optimise and scale better, reducing the per-query capacity footprint.

     

    Official References:

    SQL database Overview - Microsoft Fabric | Microsoft Learn

     

    If this response was helpful in any way, I’d gladly accept a πŸ‘much like the joy of seeing a DAX measure work first time without needing another FILTER.

    Please mark it as the correct solution. It helps other community members find their way faster (and saves them from another endless loop πŸŒ€.

    • AnHell's avatar
      AnHell
      Helper I

      Thank you very much for the explanation.

       

      Now I have to choose which path to take.

       

      I liked using SQL Database because I could set permissions at the schema level and allow multiple users to access the same database but only see their own data.

       

      If I go back to Warehouse, I gain capacity, but I lose granular permissions.

       

      Thank you!

      • Thomaslleblanc's avatar
        Thomaslleblanc
        Super User

        You can still use a Azure SQL DB to do the same thing, and pay monthly and not consume your Fabric capacity