On a un beau MCD, on a fait nos migrations, l’appli est developpée, mais la catastrophe… ça rame !
Je vais vous donner quelques pistes pour traquer les requêtes qui demandent à être revues et/ou optimisées.
L’activity monitor
Premier outil auquel il faut penser, pour aller au plus rapide, c’est l’activity monitor qui est installé avec SSMS (SQL Server Management Studio).
Avec celui-ci vous pouvez suivre les différentes activités de votre instance SQL Server.
Premier point, regarder les process qui peuvent être en attente ou bloqués (Onglet « Processes »). Avec un clic droit dessus, vous pourrez accéder au détail; Regarder bien les colonnes « Wait resource » et « Blocked By ».
Plus de détails ici : https://www.sqlshack.com/sql-server-activity-monitor/
Le query store
Outil indispensable pour chaque DBA (ou developpeur) pour traquer ces fameuses slow queries.
Vous devez déjà l’activer (par base de données), car par défaut il devrait être désactivé. Pour vérifier son état :
SELECT * FROM sys.database_query_store_options
S’il est désactivé, allez dans les propriétés de la base de données et passez l’operation mode de la page « query store » à « read write » :
Plus de détails sur son utilisation ici : https://docs.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store
Le Database Engine Tuning Advisor
[à venir]
Le SQL Server Profiler
Dernier outil qui peut vous permettre d’identifier ces fameuses requêtes lentes, c’est le SQL Server Profiler qui vient aussi avec SSMS.
N’hésitez pas à jouer avec les filtres afin de le rendre un peu moins verbeux !
Un exemple d’utilisation : https://kerrubin.wordpress.com/2013/11/12/sql-server-profiler/
Divers
N’oubliez pas quelques outils pour booster les performances de vos bases :
SQL Index Manager : voir l’article sur ce blog