it-swarm.com.de

Zuletzt ausgeführte Abfragen für eine bestimmte Datenbank

Ich weiß, wie ich die zuletzt ausgeführten Abfragen mit der folgenden SQL in SSMS erhalten kann:

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

Aber ich möchte sie für eine bestimmte Datenbank finden. Ich möchte SQL Profiler nicht verwenden, wenn ich nicht muss. Außerdem kann ich mit SQL Profiler keine Abfragen anzeigen, die bereits ohne aktivierte Profilerstellung ausgeführt wurden. Ich muss dies von SSMS aus tun.

64
Mukus

Dies funktioniert für mich, um Abfragen in jeder Datenbank in der Instanz zu finden. Ich bin Sysadmin auf der Instanz (überprüfen Sie Ihre Berechtigungen):

SELECT deqs.last_execution_time AS [Time], dest.text AS [Query], dest.*
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
WHERE dest.dbid = DB_ID('msdb')
ORDER BY deqs.last_execution_time DESC

Dies ist die gleiche Antwort, die Aaron Bertrand gegeben hat, die jedoch nicht beantwortet wurde.

77
tommy_o