適用於:Microsoft Fabric 中的 SQL 分析端點和倉儲
queryinsights.sql_pool_insights Microsoft 的 Fabric Data Warehouse 監控資源配置、追蹤設定變更,並識別池壓力時期。
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
sql_pool_name |
nvarchar(128) | SQL 池的名稱。 |
timestamp |
datetime2 | 健康檢查或容量變更的時間戳記。 |
max_resource_percentage |
int | 分配給池子的最大資源百分比。 |
is_optimized_for_reads |
bit | 顯示池是否已設定為讀取最佳化工作負載。 |
current_workspace_capacity |
nvarchar(16) | 目前工作空間使用的容量。 |
is_pool_under_pressure |
bit | 顯示泳池是否承受壓力。 |
備註
在 Fabric Data Warehouse 中,資源池間SELECTNON SELECT會強制執行資源隔離,以防止爭用。 預設存在兩個池:
-
SELECT處理已讀(SELECT)查詢,優化分析/報告功能。 -
NON SELECT處理資料修改(INSERT,UPDATE,DELETE),優化為 ETL/資料擷取。
事件式報告
- 當池組、工作空間容量或壓力狀態改變時,新紀錄會被記錄下來。
- 若壓力持續1 分鐘 或更久,壓力狀態變化會被記錄。
- 事件只有在倉庫活躍時才會被記錄。 若倉庫無活動,週期性事件會暫停,偵測到活動後恢復。 這表示在非活動期間,事件記錄可能會有空檔,直到倉庫重新啟用。
權限
你應該能存取 Fabric Capacity 工作空間中的 SQL 分析端點或倉庫,權限為 Contributor 或以上權限,或是 Viewer 的監控權限。
範例
使用此視圖將查詢效能問題與池壓力及設定變更相關聯。 利用窗戶功能或外部工具視覺化壓力週期。 以下是一些例子:
A。 過去24小時內的壓力期
顯示過去24小時內 SELECT 泳池壓力的時期:
-- Show periods when the SELECT pool was under pressure in the last 24 hours
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;
B. 視覺化壓力趨勢
利用窗函數計算連續壓力週期與間隙:
-- Calculate consecutive pressure periods and gaps using window functions
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;