使用 SQL Server 機器學習服務中的擴充事件來監視預測 PREDICT T-SQL 陳述式

適用於:SQL Server 2017 (14.x) 及更新版本 Azure SQL 受控執行個體

了解如何使用擴充事件來監視 SQL Server 機器學習服務中的 PREDICT T-SQL 陳述式及針對其進行疑難排解。

擴充事件表

下列擴充事件在支援 PREDICT T-SQL 陳述式的所有 SQL Server 版本上都可用。

NAME object_type description
predict_function_completed event 內建執行時間明細
predict_model_cache_hit event 從 PREDICT 函式模型快取中擷取模型時發生。 請搭配其他 predict_model_cache_* 事件使用此事件,以針對 PREDICT 函式模型快取所造成的問題進行疑難排解。
predict_model_cache_insert event 當模型 插入到 PREDICT 函式模型快取時發生。 請搭配其他 predict_model_cache_* 事件使用此事件,以針對 PREDICT 函式模型快取所造成的問題進行疑難排解。
predict_model_cache_miss event 在 PREDICT 函式模型快取中找不到模型時發生。 經常發生此事件可能表示 SQL Server 需要更多記憶體。 請搭配其他 predict_model_cache_* 事件使用此事件,以針對 PREDICT 函式模型快取所造成的問題進行疑難排解。
predict_model_cache_remove event 從 PREDICT 函式的模型快取移除模型時發生。 請搭配其他 predict_model_cache_* 事件使用此事件,以針對 PREDICT 函式模型快取所造成的問題進行疑難排解。

若要查看針對這些事件傳回的所有資料行清單,請在 SQL Server Management Studio 中執行下列查詢:

SELECT *
FROM sys.dm_xe_object_columns
WHERE object_name LIKE 'predict%'

範例

使用 PREDICT 來擷取評分工作階段效能的相關資訊:

  1. 使用 Management Studio 或其他支援的工具來建立新的擴充事件工作階段。
  2. 將事件 predict_function_completedpredict_model_cache_hit 新增到工作階段。
  3. 啟動擴充事件工作階段。
  4. 執行使用 PREDICT 的查詢。

在結果中,檢閱這些資料行:

  • predict_function_completed 的值會顯示查詢載入模型及評分所花的時間。
  • predict_model_cache_hit 的布林值會指出查詢是否使用快取模型。

原生評分模型快取

除了 PREDICT 的特定事件之外,您還可以使用下列查詢來取得有關快取模型與快取使用狀況的詳細資訊:

檢視原生評分模型快取:

SELECT *
FROM sys.dm_os_memory_clerks
WHERE type = 'CACHESTORE_NATIVESCORING';

檢視模型快取中的物件:

SELECT *
FROM sys.dm_os_memory_objects
WHERE TYPE = 'MEMOBJ_NATIVESCORING';

下一步

如需擴充事件 (有時稱為 XEvents) 以及如何在工作階段中追蹤事件的詳細資訊,請參閱下列文章: