--T-SQL to identify the Top 20 most
costly queries in terms of Total CPU:
SELECT TOP 20
st.dbid,
DB_NAME(st.dbid) AS Database_Name,
qs.sql_handle,
qs.execution_count,
qs.total_worker_time
AS Total_CPU,
total_CPU_inSeconds = --Converted from microseconds
qs.total_worker_time/1000000,
average_CPU_inSeconds = --Converted from
microseconds
(qs.total_worker_time/1000000) / qs.execution_count,
qs.total_elapsed_time,
total_elapsed_time_inSeconds = --Converted from
microseconds
qs.total_elapsed_time/1000000,
st.text,
qp.query_plan
FROM
sys.dm_exec_query_stats
AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
CROSS apply sys.dm_exec_query_plan (qs.plan_handle) AS qp
ORDER BY qs.total_worker_time
DESC
--This shows the
number of connections per each DB:
SELECT
DB_NAME(dbid) as DBName,
COUNT(dbid) as
NumberOfConnections,
loginame as
LoginName
FROM
sys.sysprocesses
WHERE
dbid > 0
GROUP BY
dbid, loginame
--And this gives
the total:
SELECT
COUNT(dbid) as TotalConnections
FROM
sys.sysprocesses
WHERE
dbid > 0
Comments
Post a Comment