Objet SQLServer:SQL Statistics

L'objet SQLServer:SQL Statistics dans SQL Server fournit des compteurs pour surveiller la compilation et le type de demandes transmises à une instance de SQL Server. La surveillance du nombre de compilations et de recompilations de requêtes, ainsi que le nombre de lots reçus par une instance de SQL Server, vous donne une idée de la rapidité avec laquelle SQL Server traite les requêtes utilisateur et de l'efficacité avec laquelle l'optimiseur de requêtes traite les requêtes.

La compilation constitue une partie significative du délai d'exécution d'une requête. Pour économiser le coût de compilation, le moteur de base de données enregistre le plan de requêtes compilées dans un cache de requêtes. L'objectif du cache est de réduire la durée de compilation en conservant les requêtes compilées en vue d'une utilisation ultérieure, éliminant ainsi la nécessité de recompiler des requêtes si elles sont exécutées ultérieurement. Toutefois, chaque requête doit être compilée au moins une fois. La recompilation des requêtes peut être due aux facteurs suivants :

  • modifications de schéma, y compris les modifications de schémas de base comme l'addition de colonnes ou d'index à une table, ou modifications de schémas statistiques comme l'insertion ou la suppression d'un nombre significatif de lignes dans une table ;

  • modifications d'environnement (instruction SET). La modification des paramètres de session tels que ANSI_PADDING ou ANSI_NULLS peuvent provoquer la recompilation d'une requête.

Pour plus d'informations sur le paramétrage simple et forcé, consultez ALTER DATABASE (Transact-SQL) et Paramétrage simple.

Voici les compteurs SQL Statistics de SQL Server.

Compteurs statistiques SQL de SQL Server

Description

Nombre de tentatives d'autoparamétrage/s

Nombre de tentatives d'autoparamétrage par seconde. Le total devrait être la somme des autoparamétrages qui sont sûrs, non sûrs ou qui ont échoué. L'autoparamétrage a lieu lorsqu'une instance de SQL Server tente de paramétrer une demande Transact-SQL en remplaçant certains littéraux par des paramètres pour permettre la réutilisation du plan d'exécution résultant en cache sur plusieurs demandes d'apparence comparable. Notez que les autoparamétrages sont également appelés paramétrages simples dans les versions plus récentes de SQL Server. Ce compteur ne tient pas compte des paramétrages forcés.

Nombre de requêtes de lots/s

Nombre de lots de commandes Transact-SQL reçus par seconde. Cette statistique est affectée par toutes les contraintes (comme les E/S, le nombre d'utilisateurs, la taille du cache, la complexité des requêtes, etc.). Un nombre élevé de requêtes de lots traduit un bon débit.

Nombre d'échecs d'autoparamétrage/s

Nombre d'échecs de tentatives d'autoparamétrage par seconde. Ce nombre doit être faible. Notez que les autoparamétrages sont également appelés paramétrages simples dans les versions ultérieures de SQL Server.

Paramétrages forcés/s

Nombre de paramétrages forcés réussis par seconde.

Exécutions guidées du plan/s

Nombre d'exécutions de plan par seconde dans lesquelles le plan de requête a été généré à l'aide d'un repère de plan.

Exécutions du plan non correctement guidées/s

Nombre d'exécutions de plan par seconde dans lesquelles un repère de plan n'a pas pu être honoré au cours de la génération du plan. Le repère de plan a été ignoré et la compilation normale a été utilisée pour générer le plan exécuté.

Nombre d'autoparamétrages sûrs/s

Nombre de tentatives d'autoparamétrage sûres par seconde. Le qualificatif « sûr » fait référence à la détermination selon laquelle un plan d'exécution mis en cache peut être partagé entre plusieurs instructions Transact-SQL d'apparence comparable. SQL Server effectue de nombreuses tentatives d'autoparamétrage, dont certains se révèlent sûrs alors que d'autres échouent. Notez que les autoparamétrages sont également appelés paramétrages simples dans les versions ultérieures de SQL Server. Ce compteur ne tient pas compte des paramétrages forcés.

Taux d'avertissements SQL

Nombre d'avertissements par seconde. Un avertissement est une demande émise par le client pour terminer la demande en cours d'exécution.

Compilations SQL/s

Nombre de compilations SQL par seconde. Indique le nombre de fois où le chemin du code de compilation est entré. Inclut les compilations provoquées par les recompilations au niveau des instructions dans SQL Server. Une fois l'activité de l'utilisateur de SQL Server stable, cette valeur atteint un état d'équilibre.

Recompilations SQL/s

Nombre de recompilations d'instructions par seconde. Compte le nombre de fois où les recompilations d'instruction sont déclenchées. En général, il faut que le nombre de recompilations soit faible. Dans les versions ultérieures de SQL Server, les recompilations portent sur les instructions plutôt que sur les lots comme dans Microsoft SQL Server 2000. Par conséquent, la comparaison directe des valeurs de ce compteur entre SQL Server et les versions précédentes n'est pas possible.

Nombre d'autoparamétrages non sûrs/s

Nombre de tentatives d'autoparamétrage non sûres par seconde. Par exemple, la requête possède des caractéristiques qui empêchent le partage du plan mis en cache. Elles sont qualifiées de non sûres. Ce compteur ne tient pas compte du nombre de paramétrages forcés.