What do you mean by system query? Is it you want to have a database specific query?
How do you know if a use is executing a query contains system tables?
If you want to get the queries getting executed NOT on a system databases, then below would help you.
SELECT TOP 50
TextData = qt.text
,DiskReads = qs.total_physical_reads -- The worst reads, disk reads
,MemoryReads = qs.total_logical_reads --Logical Reads are memory reads
,Executions = qs.execution_count
,TotalCPUTime = qs.total_worker_time
,AverageCPUTime = qs.total_worker_time/qs.execution_count
,DiskWaitAndCPUTime = qs.total_elapsed_time
,MemoryWrites = qs.max_logical_writes
,DateCached = qs.creation_time
,DatabaseName = DB_Name(qt.dbid)
,LastExecutionTime = qs.last_execution_time,*
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
where DB_Name(qt.dbid) not in ('msdb','master','tempdb','model','resource') Or DB_Name(qt.dbid) is null
ORDER BY qs.total_worker_time DESC
No comments:
Post a Comment