Published on

February 20, 2019

Exploration de scripts utiles pour SQL Server

En tant qu’enthousiaste de SQL Server, je suis toujours à la recherche de scripts utiles qui peuvent m’aider à résoudre des problèmes de performance et à optimiser ma base de données. Dans cet article, je souhaite partager certains de mes scripts communautaires préférés et comment je les utilise.

sp_WhoIsActive

Un des scripts les plus précieux dans ma boîte à outils est sp_WhoIsActive, écrit par Adam Machanic et hébergé sur whoisactive.com. Ce script est indispensable pour le dépannage des performances. Par défaut, il fournit des informations sur les requêtes en cours d’exécution, mais il existe quelques paramètres optionnels intéressants qui peuvent améliorer sa fonctionnalité.

Un paramètre que je trouve particulièrement utile est @get_plans = 1. Lorsqu’il est activé, ce paramètre ralentit un peu la procédure, mais il vous permet de récupérer les plans d’exécution des requêtes en cours d’exécution. Cela peut être extrêmement utile pour comprendre comment les requêtes sont exécutées et identifier les éventuels goulots d’étranglement de performance.

Voici un exemple d’utilisation de sp_WhoIsActive avec le paramètre @get_plans:

sp_WhoIsActive;
sp_WhoIsActive @get_plans = 1;

Avec cette simple addition, nous avons maintenant accès aux plans de requête, ce qui peut fournir des informations précieuses sur les performances des requêtes.

sp_BlitzCache

Un autre script fantastique que je recommande vivement est sp_BlitzCache du First Responder Kit de Brent Ozar Unlimited. Cette procédure vous permet d’analyser votre cache de plans et d’identifier les problèmes de performance potentiels.

Lorsque vous exécutez sp_BlitzCache sans aucun paramètre, il vous fournit les 10 meilleurs plans du cache et des informations sur l’état de santé de votre cache de plans. Cependant, il existe deux paramètres optionnels qui peuvent vous aider à effectuer une analyse plus spécifique.

Le premier paramètre est @MinimumExecutionCount. En spécifiant un nombre minimum d’exécutions, tel que 100, vous pouvez vous concentrer sur les requêtes qui ont été exécutées un certain nombre de fois ou plus. Cela est particulièrement utile pour résoudre les problèmes des systèmes avec un grand nombre de requêtes par seconde, car cela vous permet d’exclure les requêtes qui ne s’exécutent que rarement.

Voici un exemple d’utilisation de sp_BlitzCache avec le paramètre @MinimumExecutionCount:

sp_BlitzCache @MinimumExecutionCount = 100;

Le deuxième paramètre que je trouve précieux est @OnlyQueryHashes. Les hachages de requête sont des identifiants uniques générés par SQL Server pour chaque requête, et ils peuvent être utilisés pour suivre et identifier les requêtes problématiques. En spécifiant un ou plusieurs hachages de requête dans une liste séparée par des virgules, vous pouvez vous concentrer sur l’analyse de ces requêtes spécifiques.

Voici un exemple d’utilisation de sp_BlitzCache avec le paramètre @OnlyQueryHashes:

sp_BlitzCache @OnlyQueryHashes = 'query_hash1, query_hash2';

N’hésitez pas à expérimenter avec différentes valeurs pour ces paramètres afin de répondre à vos besoins spécifiques et aux exigences de votre système.

Ce ne sont que quelques-uns de mes scripts et paramètres préférés, mais il en existe beaucoup d’autres. Je vous encourage à explorer la communauté SQL Server et à découvrir les scripts qui correspondent le mieux à vos besoins. Et n’oubliez pas de rester à l’affût des nouvelles mises à jour et améliorations de ces scripts, car le paysage de SQL Server évolue constamment.

Faites-moi savoir si vous avez d’autres procédures ou paramètres préférés que vous trouvez utiles dans votre parcours SQL Server. Bon scripting !

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.