This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreDid you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now
SQL Pool Insights is a powerful new monitoring capability in Microsoft Fabric Data Warehouse designed to give you actionable insights into SQL pool performance and resource utilization. This feature is part of the Query Insights (QI) schema, extending the monitoring experience customers already know and love.
SQL Pool Insights addresses a long-standing customer need: understanding whether your pools are under pressure and how configuration changes impact workloads.
With SQL Pool Insights, you can now track resource allocation, monitor pressure events, and correlate performance trends — all within the Query Insights framework.
Modern analytics workloads demand transparency and control. Until now, customers had limited visibility into how their out-of-the-box pools (SELECT and NON SELECT) behaved under varying conditions.
Query Insights already provides historical query execution data and performance metrics.
Meaning faster troubleshooting, better capacity planning, and improved performance for your most critical queries.
sql_pool_name, timestamp, max_resource_percentage, and is_pool_under_pressure for granular analysis. exec_requests_history, long_running_queries) for a complete picture of query execution and resource usage.SQL Pool Insights introduces a new system view in Query Insights:
SELECT * FROM queryinsights.sql_pool_insights;
This view logs events whenever:
SELECT sql_pool_name, timestamp, is_pool_under_pressure FROM queryinsights.sql_pool_insights WHERE sql_pool_name = 'SELECT' AND timestamp >= DATEADD(hour, -24, GETDATE()) AND is_pool_under_pressure = 1 ORDER BY timestamp DESC;
SELECT sql_pool_name, timestamp, is_pool_under_pressure, LAG(timestamp) OVER (PARTITION BY sql_pool_name ORDER BY timestamp) AS previous_event, DATEDIFF(minute, LAG(timestamp) OVER (PARTITION BY sql_pool_name ORDER BY timestamp), timestamp) AS minutes_since_last_event FROM queryinsights.sql_pool_insights WHERE sql_pool_name = 'SELECT' ORDER BY timestamp;
WITH Pool_Pressure_Events AS ( SELECT DISTINCT timestamp FROM queryinsights.sql_pool_insights WHERE is_pool_under_pressure = 1 ) SELECT * FROM queryinsights.exec_requests_history AS erh JOIN Pool_Pressure_Events AS ppe ON ppe.timestamp BETWEEN erh.start_time AND erh.end_time
queryinsights.exec_requests_history.Explore the full documentation and start using SQL Pool Insights.
Query Insights in Fabric Data Warehousing