Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Query CPU PRINCIPALE sulle prestazioni di SQL Server -1

Ciao,

Se hai ricevuto un reclamo di lentezza dal cliente, devi monitorare l'istanza di SQL Server e il database che sql sta consumando molte risorse.

SQL Server DBA dovrebbe monitorare il database ogni volta e se ci sono molti sql che eseguono lunghi tempi di esecuzione o consumano molte risorse della CPU, allora dovrebbe essere segnalato allo sviluppatore e allo sviluppatore e dba dovrebbe esaminare questi sql.

Puoi trovare le query TOP CPU nel database di SQL Server con la seguente query.

select top 50
query_stats.query_hash,
SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) as avgCPU_USAGE,
min(query_stats.statement_text) as QUERY
from (
select qs.*,
SUBSTRING(st.text,(qs.statement_start_offset/2)+1,
((case statement_end_offset
when -1 then DATALENGTH(st.text)
else qs.statement_end_offset end
- qs.statement_start_offset)/2) +1) as statement_text
from sys.dm_exec_query_stats as qs
cross apply sys.dm_exec_sql_text(qs.sql_handle) as st 
) as query_stats
group by query_stats.query_hash
order by 2 desc

Il risultato della query sarà come il seguente screenshot