Surveiller les instructions PREDICT T-SQL avec des événements étendus dans SQL Server Machine Learning Services

S’applique à : SQL Server 2017 (14.x) et versions ultérieures Azure SQL Managed Instance

Découvrez comment utiliser des événements étendus pour surveiller et résoudre les problèmes liés aux instructions PREDICT T-SQL dans SQL Server Machine Learning Services.

Tableau des événements étendus

Les événements étendus suivants sont disponibles dans toutes les versions de SQL Server prenant en charge l’instruction PREDICT T-SQL.

name object_type description
predict_function_completed événement Décomposition intégrée du temps d’exécution
predict_model_cache_hit événement Se produit quand un modèle est récupéré auprès du cache des modèles de la fonction PREDICT. Utilisez cet événement avec d’autres événements predict_model_cache_* pour résoudre les problèmes provoqués par le cache des modèles de la fonction PREDICT.
predict_model_cache_insert événement Se produit quand un modèle est inséré dans le cache des modèles de la fonction PREDICT. Utilisez cet événement avec d’autres événements predict_model_cache_* pour résoudre les problèmes provoqués par le cache des modèles de la fonction PREDICT.
predict_model_cache_miss événement Se produit quand un modèle est introuvable dans le cache des modèles de la fonction PREDICT. De fréquentes occurrences de cet événement peuvent indiquer que SQL Server nécessite davantage de mémoire. Utilisez cet événement avec d’autres événements predict_model_cache_* pour résoudre les problèmes provoqués par le cache des modèles de la fonction PREDICT.
predict_model_cache_remove événement Se produit quand un modèle est supprimé du cache des modèles de la fonction PREDICT. Utilisez cet événement avec d’autres événements predict_model_cache_* pour résoudre les problèmes provoqués par le cache des modèles de la fonction PREDICT.

Pour afficher la liste de toutes les colonnes retournées pour ces événements, exécutez la requête suivante dans SQL Server Management Studio :

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

Exemples

Pour collecter des informations sur les performances d’une session de scoring à l’aide de PREDICT :

  1. Créez une session d’événements étendus à l’aide de Management Studio ou d’un autre outil pris en charge.
  2. Ajoutez les événements predict_function_completed et predict_model_cache_hit à la session.
  3. Lancez la session d’événements étendus.
  4. Exécutez la requête utilisant PREDICT.

Dans les résultats, examinez les colonnes suivantes :

  • La valeur de predict_function_completed indique le temps que la requête a consacré au chargement du modèle et au scoring.
  • La valeur booléenne de predict_model_cache_hit indique si la requête a utilisé un modèle mis en cache.

Cache du modèle de scoring natif

En plus des événements spécifiques de PREDICT, vous pouvez utiliser les requêtes suivantes pour obtenir plus d’informations sur le modèle mis en cache et l’utilisation du cache :

Afficher le cache du modèle de scoring natif :

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

Affichez les objets dans le cache du modèle :

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

Étapes suivantes

Pour en savoir plus sur les événements étendus (parfois appelés XEvents) et sur les méthodes permettant de suivre les événements dans une session, consultez les articles suivants :