Comment puis-je afficher les requêtes exécutées dans SQL Server Management Studio?
Je suis nouveau sur SQL Server Management Studio et je me demande: est-il est une façon de voir les requêtes ont été exécutées sur une base de données?
Dans le moniteur d'Activité, il y a une "Récente de Requêtes Cher" rapport, mais je devine que ce n'est pas toutes les requêtes puisque je ne vois pas ceux que j'ai exécuter.
Je suis en cours d'exécution de SQL Server Express 2008 v 10.0.1600.22.
- Un maintenant supprimé réponse ci-dessous les points de cette entrée de blog qui montre une requête SQL pour afficher les plus récentes des requêtes SQL.
Vous devez vous connecter pour publier un commentaire.
Utilisation Le générateur de profils SQL et l'utilisation d'un filtre sur elle pour obtenir la plupart des requêtes cher.
Utiliser le Moniteur d'Activité. C'est le dernier de la barre d'outils dans la barre du haut. Il va vous montrer une liste des "Dernières Requêtes Cher". Vous pouvez double-cliquer pour voir le plan d'exécution, etc.
Si vous voulez voir les requêtes qui sont déjà exécuté, il n'est pas pris en charge par défaut de la façon de le faire. Il y a quelques solutions que vous pouvez essayer, mais ne vous attendez pas à trouver toutes les.
Vous ne serez pas en mesure de voir les instructions SELECT pour sûr, mais il y a un moyen de voir d'autres DML et DDL commandes par la lecture du journal des transactions (en supposant que la base de données est en mode de récupération complet).
Vous pouvez le faire à l'aide de la commande DBCC JOURNAL ou fn_dblog des commandes ou des tiers de lecture du journal comme ApexSQL Log (à noter que l'outil est livré avec un prix)
Maintenant, si vous prévoyez sur l'audit des états qui vont être exécutées dans l'avenir, alors vous pouvez utiliser le générateur de profils SQL pour attraper tout.
Vous avez besoin d'un générateur de profils SQL, ce qui s'exécute en dehors de SQL Management Studio. Si vous avez payé la version de SQL Server (comme l'édition développeur), il devrait être inclus comme un autre utilitaire.
Si vous utilisez une édition gratuite de SQL Express), ils ont freeware profils que vous pouvez télécharger. J'ai utilisé AnjLab du profiler (disponible à http://sites.google.com/site/sqlprofiler), et il semble bien fonctionner.
Exécutez la requête suivante à partir de la Gestion de Studio sur un processus en cours d'exécution:
Ce sera le retour de la SQL en cours d'exécution sur la base de données pour le SPID fourni. Notez que vous devez disposer des autorisations appropriées pour exécuter cette commande.
C'est mieux que de courir une trace puisqu'il vise un SPID spécifique. Vous pouvez voir si elle est longue en cours d'exécution basé sur son CPUTime et DiskIO.
Exemple d'obtenir les détails de SPID 64:
Si vous voulez SSMS de maintenir un historique des requêtes, utilisez le SSMS Outil Pack ajouter sur.
Si vous souhaitez surveiller le Serveur SQL pour les requêtes en cours d'exécution, utilisez le générateur de profils SQL comme d'autres l'ont déjà suggéré.
Plus claire de la requête, le ciblage Studio requêtes sql est :