上次执行的特定数据库查询
我知道如何使用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
但我想find他们的具体数据库。 我不想使用SQL事件探查器,如果我不必。 另外,我不认为SQL事件探查器将允许我查看已经运行没有分析打开的查询。 我需要从SSMS做到这一点。
这适用于我在实例中查找任何数据库的查询。 我是实例上的系统pipe理员(检查你的权限):
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提供的答案是一样的,但没有被回答。