Maison >base de données >tutoriel mysql >Comment puis-je récupérer et suivre l'historique des requêtes dans SQL Server Management Studio ?

Comment puis-je récupérer et suivre l'historique des requêtes dans SQL Server Management Studio ?

DDD
DDDoriginal
2025-01-15 15:26:45796parcourir

How Can I Retrieve and Track Query History in SQL Server Management Studio?

Recherche des requêtes antérieures dans SQL Server Management Studio (SSMS)

Parfois, vous devez examiner les requêtes précédemment exécutées dans SSMS. Bien que SSMS ne dispose pas d'un outil de suivi de l'historique des requêtes intégré, il existe des solutions de contournement.

Recherche des données de l'historique des requêtes

Si l'instance SQL Server n'a pas été redémarrée depuis l'exécution de la requête, le plan de requête peut toujours être dans le cache du plan. Essayez cette requête :

<code class="language-sql">SELECT t.[text]
FROM sys.dm_exec_cached_plans AS p
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
WHERE t.[text] LIKE N'%<unique_query_identifier>%';</code>

Remplacez <unique_query_identifier> par une partie de la requête dont vous vous souvenez.

Si SSMS plante et que vous perdez l'historique de vos requêtes, vérifiez ces fichiers de récupération :

<code>C:\Users\<username>\Documents\SQL Server Management Studio\Backup Files\</code>

Utilisation d'outils tiers et de traçage

Pour une surveillance continue de l'historique des requêtes, explorez des outils tels que SSMS Tools Pack. Vous pouvez également configurer une trace SQL Server légère filtrée par votre identifiant ou votre nom d'hôte.

Historique détaillé des requêtes avec sys.dm_exec_query_stats

Comme l'a souligné Nenad-Zivkovic, l'utilisation de sys.dm_exec_query_stats fournit des détails plus complets sur l'historique des requêtes. Cette requête la joint à d'autres vues système pour classer les résultats selon la dernière heure d'exécution :

<code class="language-sql">SELECT t.[text], s.last_execution_time
FROM sys.dm_exec_cached_plans AS p
INNER JOIN sys.dm_exec_query_stats AS s
   ON p.plan_handle = s.plan_handle
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
WHERE t.[text] LIKE N'%<unique_query_identifier>%'
ORDER BY s.last_execution_time DESC;</code>

N'oubliez pas de remplacer <unique_query_identifier> par une partie unique de votre requête.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn