Muk*_*kus 66 sql-server sql-server-2012
我知道如何在SSMS中使用以下SQL获取最后执行的查询 -
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事件探查器.另外,我不认为SQL Profiler会允许我查看已经运行但未启用分析的查询.我需要从SSMS做到这一点.
tom*_*y_o 79
这对我来说可以在实例中的任何数据库上查找查询.我是实例上的sysadmin(检查你的权限):
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
这与Aaron Bertrand提供的答案相同,但没有得到答案.
Jac*_*nan 18
以下内容非常适合我:希望这有帮助
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