Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Saniacot Member Откуда: Сообщений: 45 |
Выполняю процедуру sp_who2 на сервере. Меня интересует две строчки: 1. Строчка со SPID = 87. Процедура, запущенная в студии, статус "Runnable" означает, что она выполняется в данный момент времени, Command "Open Cursor" означает, что на данный момент в рамках процедуры исполняется курсор. Тут вроде всё ясно. 2. Существует клиентское приложение, которое по нажатию на кнопку выводит отчёт или выводит какую-то информацию (утрирую). Подскажите, что означает статус sleeping + awaiting command? То, что пользователь уже "нажал на кнопку" и выполнил запрос но не вышел из приложения? (то есть отображается последняя выполненная команда пользователем с данным SPID). Получается, что строчка с данным SPID изменит своё значение только тогда, когда пользователь выйдет из приложения (она пропадёт) или выполнит другой запрос? upd. Картинка не прикрепляется, поясню, процедура выводит первую строчку, где SPID 87, статус 'Runnable', command 'Open Cursor', вторую строчку SPID = 68, статус 'Sleeping', command 'Awaiting Command', Сообщение было отредактировано: 6 ноя 19, 14:52 |
6 ноя 19, 14:47 [22010798] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
Это определяется тем, как программист написал приложение. Например, приложение может закрыть коннект, а пользователь всё ещё работает с приложением. Или наоборот, пользователь закрыл приложение, но коннект остался открытым (например, он открыт в каком нибудь сервисе, являющимся частью этого приложения) |
||||||||
6 ноя 19, 15:08 [22010819] Ответить | Цитировать Сообщить модератору |
Saniacot Member Откуда: Сообщений: 45 |
Cпасибо за ответ! Получается такие соединения (где статус sleeping + awaiting command) не могут нагружать сервер. Подскажите, а есть системная (или нет) хранимая процедура, которая показывает текущую нагрузку на сервер? (Блокировок не вижу по данным процедуры sp_who2, но в определенные моменты приложение очень тормозит) |
||||||||||||
6 ноя 19, 15:14 [22010825] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
select * from sys.dm_os_performance_counters Во вторых, есть куча вью, наверное, там можно найти что то удобное: https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sql-server-operating-system-related-dynamic-management-views-transact-sql |
||||||||
6 ноя 19, 15:35 [22010851] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5516 |
посмотрите процедуру sp_whoisactive - это отличная замена древней sp_who2 обращайте внимание на типы waits, которые расскажут что ждет запрос ну и тут описание в свободной форме: https://habr.com/ru/post/136481/ |
||||
6 ноя 19, 16:02 [22010877] Ответить | Цитировать Сообщить модератору |
Saniacot Member Откуда: Сообщений: 45 |
Cпасибо! Запомню на будущее. Моя текущая версия sql server ещё не поддерживает эту процедуру. |
||||||||
6 ноя 19, 16:14 [22010885] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5516 |
что, неужели MSSQL2000? покажите select @@version Сообщение было отредактировано: 6 ноя 19, 16:18 |
||||
6 ноя 19, 16:16 [22010889] Ответить | Цитировать Сообщить модератору |
Saniacot Member Откуда: Сообщений: 45 |
Прошу прощения, я думал, что она системная, как и sp_who2 :) |
||||||||
6 ноя 19, 16:23 [22010897] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
|
||||
6 ноя 19, 16:41 [22010920] Ответить | Цитировать Сообщить модератору |
Saniacot Member Откуда: Сообщений: 45 |
Понял, спасибо большое! |
||||||||
6 ноя 19, 16:48 [22010925] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |