Reputation: 216
Is there a mechanism to obtain a history of queries executed on a specific database in SQL Server 2012? I tried with below method, but it provides the entire history of the SQL Server.
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
Results:
Upvotes: 4
Views: 15882
Reputation: 216
Worked query based on @Phong's answer
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
where dbid = (select database_id from sys.databases where name = 'MyDataBase')
ORDER BY deqs.last_execution_time DESC
Upvotes: -1
Reputation: 14198
You can achieve it in this way
Where dbid = (Select database_id from sys.databases Where name = 'your_database_name')
Full query:
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
Where dbid = (select database_id from sys.databases Where name = 'your_database_name')
ORDER BY deqs.last_execution_time DESC
Upvotes: 5