Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Consulta de CPU TOP de Desempenho do SQL Server -2


Oi,

Se você recebeu uma reclamação de lentidão do cliente, você precisa monitorar a instância do SQL Server e o banco de dados cujo sql está consumindo muitos recursos.







O DBA do SQL Server deve monitorar o banco de dados sempre e, se houver muitos sqls executando muito tempo de execução ou consumindo muitos recursos da CPU, isso deve ser relatado ao desenvolvedor e ao desenvolvedor e o dba deve examinar esses sqls.



Você pode encontrar consultas de CPU TOP no banco de dados do SQL Server com a seguinte 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;