Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
najti_prichiny_blokirovok_sql [2026/04/17 07:39] tro |
najti_prichiny_blokirovok_sql [2026/04/22 06:57] (текущий) tro |
||
|---|---|---|---|
| Строка 2: | Строка 2: | ||
| ===== Перевірка на блокування ===== | ===== Перевірка на блокування ===== | ||
| + | ==== Розширена аналітика поточних блокувань + статистичні данні ==== | ||
| + | < | ||
| + | SELECT | ||
| + | s.session_id, | ||
| + | s.program_name, | ||
| + | s.host_name, | ||
| + | DB_NAME(s.database_id) | ||
| + | r.command, | ||
| + | r.status, | ||
| + | r.wait_type, | ||
| + | r.wait_time/ | ||
| + | |||
| + | -- ЧАС | ||
| + | r.total_elapsed_time/ | ||
| + | r.total_elapsed_time/ | ||
| + | |||
| + | -- CPU | ||
| + | r.cpu_time | ||
| + | CAST(r.cpu_time * 100.0 | ||
| + | / NULLIF(r.total_elapsed_time, | ||
| + | |||
| + | -- IO | ||
| + | r.logical_reads | ||
| + | r.reads | ||
| + | r.writes | ||
| + | -- скільки МБ прочитано з диску | ||
| + | r.reads * 8 / 1024 AS прочитано_МБ, | ||
| + | |||
| + | -- БЛОКУВАННЯ | ||
| + | r.blocking_session_id | ||
| + | r.open_transaction_count | ||
| + | |||
| + | -- ПРОГРЕС (для BACKUP, DBCC, ALTER INDEX) | ||
| + | r.percent_complete | ||
| + | r.estimated_completion_time/ | ||
| + | |||
| + | -- ПАМ' | ||
| + | mg.granted_memory_kb/ | ||
| + | mg.used_memory_kb/ | ||
| + | mg.requested_memory_kb/ | ||
| + | |||
| + | -- ПЛАН ВИКОНАННЯ (посилання) | ||
| + | r.plan_handle, | ||
| + | |||
| + | -- ТЕКСТ ЗАПИТУ | ||
| + | SUBSTRING(t.text, | ||
| + | (r.statement_start_offset/ | ||
| + | ((CASE r.statement_end_offset | ||
| + | WHEN -1 THEN DATALENGTH(t.text) | ||
| + | ELSE r.statement_end_offset | ||
| + | END - r.statement_start_offset)/ | ||
| + | ) AS поточний_оператор, | ||
| + | t.text | ||
| + | |||
| + | FROM sys.dm_exec_sessions s | ||
| + | JOIN sys.dm_exec_requests r | ||
| + | ON s.session_id = r.session_id | ||
| + | OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) t | ||
| + | LEFT JOIN sys.dm_exec_query_memory_grants mg | ||
| + | ON r.session_id = mg.session_id | ||
| + | WHERE s.is_user_process = 1 | ||
| + | ORDER BY r.cpu_time DESC, r.logical_reads DESC | ||
| + | </ | ||
| + | |||
| ==== Показує всі сесії що зараз заблоковані кимось іншим ==== | ==== Показує всі сесії що зараз заблоковані кимось іншим ==== | ||
| < | < | ||
| Строка 71: | Строка 135: | ||
| < | < | ||
| KILL 58 | KILL 58 | ||
| + | </ | ||
| + | ===== Перевірка навантаження дискової підсистеми ===== | ||
| + | < | ||
| + | SELECT | ||
| + | DB_NAME(vfs.database_id) AS база, | ||
| + | mf.physical_name AS файл, | ||
| + | vfs.io_stall_read_ms / NULLIF(vfs.num_of_reads, | ||
| + | AS середня_затримка_читання_мс, | ||
| + | vfs.io_stall_write_ms / NULLIF(vfs.num_of_writes, | ||
| + | AS середня_затримка_запису_мс, | ||
| + | vfs.num_of_reads AS читань, | ||
| + | vfs.num_of_writes AS записів, | ||
| + | vfs.io_stall AS загальна_затримка_мс | ||
| + | FROM sys.dm_io_virtual_file_stats(NULL, | ||
| + | JOIN sys.master_files mf | ||
| + | ON vfs.database_id = mf.database_id | ||
| + | AND vfs.file_id = mf.file_id | ||
| + | WHERE DB_NAME(vfs.database_id) IN (' | ||
| + | ORDER BY vfs.io_stall DESC | ||
| </ | </ | ||