Le magasin de requêtes SQL Server capture-t-il les valeurs des paramètres?


9

Le nouveau magasin de requêtes introduit dans SQL Server 2016 est génial. C'est un bon remplacement pour une grande partie de ce que je faisais avec l'ancien outil Profiler. Cependant, je n'ai pas trouvé de moyen de capturer les valeurs des paramètres associés aux appels individuels aux requêtes à forte consommation de ressources qu'il renifle. Est-ce possible?

Je comprends que Query Store traite davantage les données agrégées que les appels individuels, donc je soupçonne que je n'ai peut-être pas de chance ici. Lorsque je trouve une requête lente, je trouve pratique pour le dépannage d'avoir également les paramètres associés à l'un de ses appels les plus lents. J'aimerais savoir comment faire cela en utilisant les outils les plus récents et les plus performants. (Je ne manque pas d'utiliser Profiler!)

En termes de sécurité, Query Store est-il moins verrouillé que Profiler? Je pense qu'il doit capturer des données d'appels individuels à un certain niveau afin de calculer des agrégats. Je ne sais pas si elle en stocke.

Réponses:


11

Selon le plan, vous devriez pouvoir voir le ParameterCompiledValuepour chaque paramètre en inspectant les plans XML enregistrés dans sys.query_store_plan.

La liste est généralement contenue vers la fin du plan xml et peut être trouvée dans le ParameterListnœud.

Cela ne fournit pas la valeur de chaque exécution, mais vous donne une idée de ce avec quoi le plan a été compilé.

Si vous avez vraiment besoin d'obtenir la valeur de chaque exécution, vous pouvez créer une session d'événements étendus pour recueillir les détails.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.