共用方式為


queryinsights.sql_pool_insights(Transact-SQL)

適用於: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 處理資料修改(INSERTUPDATEDELETE),優化為 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;

利用窗函數計算連續壓力週期與間隙:

-- 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;

後續步驟