SQL Pool Insights: Monitoring Microsoft Fabric Data Warehouse Performance
Microsoft Fabric Blog presents an in-depth look at SQL Pool Insights, offering developers and analytics engineers new tools for monitoring SQL pool performance and optimizing resource usage in Fabric Data Warehouse.
SQL Pool Insights: Monitoring Microsoft Fabric Data Warehouse Performance
Microsoft Fabric Data Warehouse now includes SQL Pool Insights, an advanced telemetry feature designed to help analytics teams monitor SQL pool health, resource allocation, and query performance. As part of the Query Insights (QI) schema, SQL Pool Insights introduces pool-level visibility to support efficient capacity planning and fast troubleshooting for mission-critical workloads.
Why SQL Pool Insights Matters
Modern analytics demand transparency and control. Previously, understanding how SELECT and NON SELECT pools handled pressure was challenging. SQL Pool Insights delivers:
- Real-time monitoring of pool pressure and health
- Historical records for pool configuration and capacity changes
- Event logging for sustained pressure events
- Validation of resource isolation between pools
These capabilities enhance troubleshooting, optimize performance, and assist with strategic capacity adjustments.
Key Capabilities
- Out-of-the-box Pool Coverage: Monitor SELECT and NON SELECT pools, with upcoming support for custom pools
- Granular Schema: Analyze fields such as
sql_pool_name,timestamp,max_resource_percentage, andis_pool_under_pressure - Correlated Insights: Integrate SQL Pool Insights data with Query Insights views like
exec_requests_historyandlong_running_queriesfor comprehensive monitoring
How SQL Pool Insights Works
SQL Pool Insights adds a new system view to Query Insights:
SELECT * FROM queryinsights.sql_pool_insights;
Event logging occurs when:
- Pool configuration changes
- Workspace capacity SKU changes
- Pressure state persists longer than one minute
Example Scenarios
Identify Pool Pressure Periods:
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;
Visualize Pressure Trends:
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;
Correlate Pressure with Query History:
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
Use Cases for SQL Pool Insights
- Diagnosis of performance issues and bottlenecks
- Validation of resource isolation for different workloads
- Planning capacity upgrades or adjustments using historical pool data
- Troubleshooting slow queries by correlating pressure and request history
Learn More
Access Query Insights in Fabric Data Warehousing to explore documentation and integration options for your analytics platform.
Authored by Microsoft Fabric Blog
This post appeared first on “Microsoft Fabric Blog”. Read the entire article here