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

Comment puis-je récupérer l'historique de mes requêtes SQL Server Management Studio ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-15 15:21:47767parcourir

How Can I Retrieve My SQL Server Management Studio Query History?

Récupération de l'historique des requêtes de SQL Server Management Studio

Rechercher vos requêtes passées dans SQL Server Management Studio (SSMS) peut être délicat, car SSMS ne stocke pas directement l'historique des requêtes dans les fichiers journaux. Cependant, plusieurs méthodes peuvent vous aider à récupérer vos requêtes :

Méthode 1 : Vérification du cache du plan

Si votre serveur SQL n'a pas été redémarré et que le plan de requête n'a pas été supprimé, vous le trouverez peut-être dans le cache du plan. Utilisez cette commande T-SQL, en remplaçant '%something unique about your query%' par un identifiant unique de votre 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'%something unique about your query%';</code>

Méthode 2 : Examen des fichiers de récupération

Si SSMS plante et que vous avez perdu votre requête, recherchez les fichiers de récupération dans ce répertoire :

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

Méthode 3 : utilisation d'outils tiers ou de traçage côté serveur

Si les méthodes ci-dessus échouent, envisagez d'utiliser un outil tiers tel que le SSMS Tools Pack (adapté à SQL Server 2012 et aux versions antérieures). Vous pouvez également implémenter le traçage côté serveur, en filtrant par votre identifiant ou votre nom d'hôte.

Méthode 4 : Tri des résultats par temps d'exécution

Pour organiser l'historique de vos requêtes par heure de dernière exécution, utilisez cette requête pour joindre sys.dm_exec_cached_plans et sys.dm_exec_query_stats, en triant par last_execution_time :

<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'%something unique about your query%'
ORDER BY s.last_execution_time DESC;
```  Remember to replace `'%something unique about your query%'` with a distinctive part of your query.</code>

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