Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как поймать "длинный" запрос? (не ловится!)  [new]
fdemyan
Member

Откуда:
Сообщений: 10
Господа, помогите мыслями!

Имеем: каждые 15 мин у меня на серваке запускается нечто, что вгоняет его в 100% CPU на минуты три.
Что сделано/пробовал:
- Activity Monitor (sys.dm_exec_query_stats) - пусто, длинных запросов нет
- SQL Server Profiler (duration) - пусто
- сверка сэссий до и после (EXEC sp_who) - ничего
- тупо отрубил SQL Agent - не помогло

Сейчас врубил говернер (SET QUERY_GOVERNOR_COST_LIMIT 30) - процесс видимо рубится, симптоматика ушла. НО! никто не жалуется, вот что странно))))

В моем понимании где-то в тушке сервера генерится:

Msg 8649, Level 17, State 1, Line ХХ
The query has been canceled because the estimated cost of this query (ХХХХ) exceeds the configured threshold of 30. Contact the system administrator.

Вопросы:
Можно как-то заставить писаться в логи - что "закосил" говернер?
другие способы поймать скрытный запрос?
22 май 12, 13:47    [12594356]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
fdemyan
- SQL Server Profiler (duration) - пусто
Значит или события не те, или фильтры не те.
fdemyan
Можно как-то заставить писаться в логи - что "закосил" говернер?
В профайлере ошибки тоже ловятся.
fdemyan
другие способы поймать скрытный запрос?
Профайлером.
22 май 12, 13:55    [12594445]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
fdemyan
Member

Откуда:
Сообщений: 10
Есть подозрение, что это не обычный T-SQL - согласитесь, процедура отлова неоптимизированных запросов обычно проще паренной репы - посмотрел в активити мониторе, вытащил запрос, проверил план и готово...

профайлером поробую поковырять, спасибо
22 май 12, 14:01    [12594508]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
Gunduk
Member

Откуда: Москва-Воронеж
Сообщений: 22
SET QUERY_GOVERNOR_COST_LIMIT работает только на уровне конкретного соединения. Для сервера этот параметр нужно менять через sp_configure
22 май 12, 14:06    [12594550]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
fdemyan
Member

Откуда:
Сообщений: 10
Gunduk,

Йес, оф кос! Это я для наглядности
22 май 12, 14:06    [12594563]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
fdemyan
Member

Откуда:
Сообщений: 10
Гавриленко Сергей Алексеевич,

Проверил профайлером эксэпшены - их нет!
т.е. если я делаю тестовый "длинный" запрос - профайлер ловит, но нечто раз в 15 минут следов не оставляет.
Вожет это некий периодический процесс самого сервера, авто апдейт статистики, нипример или нечто подобное..

идей нет.
22 май 12, 14:30    [12594812]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
select @@version что вернет?
22 май 12, 14:46    [12594968]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
fdemyan
Member

Откуда:
Сообщений: 10
tpg,

Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86) Nov 24 2008 13:01:59 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
22 май 12, 14:59    [12595090]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
А там в профайлере случаем галка для дурейшена не в микросекунды установлена?
22 май 12, 15:03    [12595121]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
TeufelDan
Member

Откуда: оттуда
Сообщений: 61
fdemyan
- тупо отрубил SQL Agent - не помогло

несмотря на это могу, на вскидку, посоветовать глянуть джобы ... с интервалом который Вы приводили (15 мин.),
возможно прояснит картину.
22 май 12, 15:04    [12595127]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
fdemyan
Member

Откуда:
Сообщений: 10
tpg,

профайлер у меня выдает в миллисекундах, т.е. 1сек=1000 профайлера.
22 май 12, 15:07    [12595150]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
fdemyan
tpg,

профайлер у меня выдает в миллисекундах, т.е. 1сек=1000 профайлера.
Это вы в опциях профайлера увидели или просто предположили?
22 май 12, 15:08    [12595166]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
fdemyan
Member

Откуда:
Сообщений: 10
TeufelDan,

Сэр, глаза уж проглядел. Потому и тормозил сам эйджент - дабы отринуть все сомненья. Проблема остается.
22 май 12, 15:09    [12595168]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
fdemyan
Member

Откуда:
Сообщений: 10
tpg,

в опциях я не нашел единиц измерения, т.е. там дефолты - не трогал ничего.
ну а про миллисекунды - оно очевидно, я достаточно часто отлавливаю корявые запросы пользователей, привык уж.
22 май 12, 15:12    [12595194]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5503
Блог
Вот это попробуйте...
22 май 12, 15:15    [12595215]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
fdemyan
Member

Откуда:
Сообщений: 10
DeColo®es,

Гениально! Нашелся! Спасибо! Это запрос, который запускает Алькателовский солюшн. Разберусь, чем он такой особенный - отпишусь.
Пока не понятно, почему его ничего невидит.
22 май 12, 15:36    [12595406]     Ответить | Цитировать Сообщить модератору
 Re: как поймать "длинный" запрос? (не ловится!)  [new]
fdemyan
Member

Откуда:
Сообщений: 10
Господа!

Ларчик просто открывался - внутри одной сессии клиентское приложение запускало один и тот же запрос сотни раз с разными параметрами. Интегрально это и дает полную загрузку проца. Сами по себе запросы коротенькие, поэтому я их и пропустил в мониторе/профайлере.


Отдельное спасибо DeColo®es.

Вопрос закрыт.
22 май 12, 16:44    [12595953]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить