Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Requête de processeur TOP des performances de SQL Server -2

Bonjour,

Si vous recevez une plainte de lenteur de la part d'un client, vous devez surveiller l'instance SQL Server et la base de données SQL qui consomme beaucoup de ressources.

L'administrateur de base de données SQL Server doit surveiller la base de données à chaque fois et s'il existe de nombreux sql qui exécutent un long temps d'exécution ou consomment beaucoup de ressources processeur, cela doit être signalé au développeur et au développeur et dba doit examiner ces sql.

Vous pouvez trouver les requêtes TOP CPU dans la base de données SQL Server avec la requête suivante.

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;