Dernière exécution des requêtes de base de données spécifique
Je sais comment obtenir les dernières requêtes exécutées à l'aide de l'instruction SQL suivante dans SSMS -
SELECT deqs.last_execution_time AS [Time], dest.text AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY deqs.last_execution_time DESC
Mais je veux trouver une base de données spécifique. Je ne veux pas utiliser le générateur de profils SQL, si je n'ai pas d'. En Plus je ne pense pas que le générateur de profils SQL va me permettre d'afficher les requêtes qui ont été déjà exécuté sans profilage allumé. J'ai besoin de le faire à partir de SSMS.
- Il ne sera pas toujours remplie, de sorte que vous pouvez manquer des trucs, mais pour un début, vous pouvez filtrer sur
WHERE dest.dbid = DB_ID('your database name')
. Si vous souhaitez suivre à l'avenir, ne jamais utiliser Profiler, sauf si vous voulez que votre suivi à fait contribuer à des problèmes de performances. L'utilisation d'un serveur-côté de la trace, les événements étendus, ou un outil 3ème partie (je sais assez bon). - alors que l'exécute, il n'est pas mon toute la ligne. J'ai quelques autres bases de données. Rien n'indique pour l'un d'eux. Peut-être qu'il n'est pas DB_ID('nom de la base').. les identifiants sont différents?
- Cette requête ci-dessus est inutilisable dans la détermination de ce que le tout exécuté parce que je n'ai même pas voir une partie de la db de l'id de la base de données. J'ai utilisé " SELECT nom,database_id à PARTIR de sys.bases de données;'
- Désolé je voulais dire utilisable.
- Pourquoi ne pas publier votre commentaire est une réponse? Vous avez répondu à 6 mois avant la réponse ci-dessous. Je vais accepter la vôtre.
- Comment se connecter à l'exécution de la requête de données à l'aide de
server-side trace
ouextended events
?? Pouvez vous s'il vous plaît bref.. - Vous pouvez utiliser le générateur de profils SQL pour que.
- DB_NAME(id) peuvent être utilisés pour découvrir le nom d'une base de données à partir de l'id de base de données.
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne pour moi de trouver des requêtes sur une base de données dans l'instance. Je suis sysadmin sur l'instance (à vérifier vos privilèges):
C'est la même réponse que Aaron Bertrand fourni, mais il n'était pas placé dans une réponse.
CREATE PROCEDURE or FUNCTION
états, ce qui est utile, mais pas complet. Voir dba.stackexchange.com/questions/35703/...