cs-87
cs-87

Reputation: 216

Obtain SQL Server executed query history of specific database

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:

enter image description here

Upvotes: 4

Views: 15882

Answers (2)

cs-87
cs-87

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

Nguyễn Văn Phong
Nguyễn Văn Phong

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

Related Questions