Запросы выполняющиеся в текущий момент на MS SQL Server включая текст запроса

Адаптация скрипта из книги:

Performance Tuning with SQL Server Dynamic
Management Views Louis Davidson and Tim Ford

Немного докрутил, немного добавил. Скрипт проверен, рабочий. Позволяет выявлять процессы наиболее агрессивно потребляющие ресурсы, с текстом выполняемых запросов. Оболочка иногда искажает символы,  текст скрипта дополнительно приведен в текстовом документе

 

— Who is running what at this instant
— Запросы выполняющиеся в текущий момент на сервере включая текст запроса
— Performance Tuning with SQL Server Dynamic
— Management Views Louis Davidson and Tim Ford
— The script is modified: Dmitry Gorchilin
— 20170425 digger.dp.ua

SELECT dest.text AS [Command text] ,
des.login_time ,
des.[host_name] ,des.nt_user_name, des.original_login_name,
1.*(dec.num_reads+dec.num_writes)/DATEDIFF(ss,des.login_time,GETDATE()) AS IOPS,
1.*(des.logical_reads)/DATEDIFF(ss,des.login_time,GETDATE()) AS lReadsPS,
des.[program_name] ,
der.session_id ,
dec.client_net_address ,
der.status ,
der.command ,
DB_NAME(der.database_id) AS DatabaseName
FROM sys.dm_exec_requests der
INNER JOIN sys.dm_exec_connections dec
ON der.session_id = dec.session_id
INNER JOIN sys.dm_exec_sessions des
ON des.session_id = der.session_id
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS dest
WHERE des.is_user_process = 1
AND DATEDIFF(ss,des.login_time,GETDATE())>0
ORDER BY 1.*(des.logical_reads)/DATEDIFF(ss,des.login_time,GETDATE()) DESC

 

 

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *