Мониторинг инструкций T-SQL PREDICT с использованием расширенных событий в Службах машинного обучения SQL Server

Область применения: SQL Server 2017 (14.x) и более поздних версий Управляемый экземпляр SQL Azure

Сведения о том, как использовать расширенные события для мониторинга инструкций T-SQL PREDICT в Службах машинного обучения SQL Server, а также устранять связанные с ними неполадки.

Таблица расширенных событий

Приведенные ниже расширенные события доступны во всех версиях SQL Server, поддерживающих инструкцию T-SQL PREDICT.

name object_type описание
predict_function_completed события Встроенное разбиение времени выполнения
predict_model_cache_hit события Происходит при извлечении модели из кэша моделей функции PREDICT. Используйте это событие вместе с другими событиями predict_model_cache_* для решения проблем, вызванных кэшем моделей функции PREDICT.
predict_model_cache_insert события Происходит при вставке модели в кэш моделей функции PREDICT. Используйте это событие вместе с другими событиями predict_model_cache_* для решения проблем, вызванных кэшем моделей функции PREDICT.
predict_model_cache_miss события Происходит, если модель не найдена в кэше моделей функции PREDICT. Если это событие возникает часто, это может указывать на то, что для SQL Server требуется больше памяти. Используйте это событие вместе с другими событиями predict_model_cache_* для решения проблем, вызванных кэшем моделей функции PREDICT.
predict_model_cache_remove события Происходит при удалении модели из кэша моделей функции 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_completed и predict_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';

Следующие шаги

Дополнительные сведения о расширенных событиях и о том, как отслеживать события в рамках сеанса, см. в следующих статьях: