Последние выполненные запросы для конкретной базы данных


Я знаю, как получить последние выполненные запросы, используя следующий SQL в 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

но я хочу найти их для конкретной базы данных. Я не хочу использовать SQL Profiler, если мне это не нужно. Кроме того, я не думаю, что SQL Profiler позволит мне просматривать запросы, которые уже были запущены без профилирования. Мне нужно сделать это из SSMS.

1 57

1 ответ:

это работает для меня, чтобы найти запросы в любой базе данных в экземпляре. Я сисадмин на экземпляре (Проверьте свои привилегии):

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

Это тот же ответ, что и Аарон Бертран, но он не был помещен в ответ.