sql >> Base de Datos >  >> RDS >> Sqlserver

Consulta de CPU superior de rendimiento de SQL Server -2

Hola,

Si recibió una queja de lentitud del cliente, debe monitorear la instancia de SQL Server y la base de datos cuyo sql consume muchos recursos.

SQL Server DBA debe monitorear la base de datos cada vez y si hay muchos sqls que ejecutan mucho tiempo de ejecución o consumen muchos recursos de CPU, entonces se debe informar al desarrollador y al desarrollador y el dba debe examinar estos sqls.

Puede encontrar consultas TOP CPU en la base de datos de SQL Server con la siguiente consulta.

SELECT TOP 50
    ObjectName          = OBJECT_SCHEMA_NAME(qt.objectid,dbid) + '.' + OBJECT_NAME(qt.objectid, qt.dbid)
    ,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
 ORDER BY qs.total_worker_time DESC;