我知道如何使用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 Profiler。另外,我认为SQL Profiler不允许我查看在未启用概要分析的情况下已经运行的查询。我需要从SSMS执行此操作。
WHERE dest.dbid = DB_ID('your database name')
。如果要追溯前进,不过,除非你想让你的监控,实际上促成了性能问题使用探查。使用服务器端跟踪,扩展事件或第三方工具(我知道一个很好的工具)。