Последние выполненные запросы для конкретной базы данных
Я знаю, как получить последние выполненные запросы, используя следующий 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 ответ:
это работает для меня, чтобы найти запросы в любой базе данных в экземпляре. Я сисадмин на экземпляре (Проверьте свои привилегии):
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
Это тот же ответ, что и Аарон Бертран, но он не был помещен в ответ.