Hej,
Hvis du har fået langsommelighedsklage fra kunden, skal du overvåge SQL Server Instance og database, som sql bruger mange ressourcer.
SQL Server DBA bør overvåge databasen hver gang, og hvis der er mange sqls, som kører lang udførelsestid eller forbruger en masse IO-ressourcer, skal det rapporteres til udvikleren og udvikleren, og dba bør undersøge disse sqls.
Du kan finde TOP 50 IO-forespørgsler i SQL Server-databasen med følgende forespørgsel.
select q.[text], SUBSTRING(q.text, (highest_cpu_queries.statement_start_offset/2)+1, ((CASE highest_cpu_queries.statement_end_offset WHEN -1 THEN DATALENGTH(q.text) ELSE highest_cpu_queries.statement_end_offset END - highest_cpu_queries.statement_start_offset)/2) + 1) AS statement_text, highest_cpu_queries.total_worker_time, highest_cpu_queries.total_logical_reads, highest_cpu_queries.last_execution_time, highest_cpu_queries.execution_count, q.dbid, q.objectid, q.number, q.encrypted, highest_cpu_queries.plan_handle from (select top 50 qs.last_execution_time, qs.execution_count, qs.plan_handle, qs.total_worker_time, qs.statement_start_offset, qs.statement_end_offset, qs.total_logical_reads from sys.dm_exec_query_stats qs order by qs.total_worker_time desc) as highest_cpu_queries cross apply sys.dm_exec_sql_text(plan_handle) as q order by highest_cpu_queries.total_logical_reads desc;