|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
привет ребята подскажите пожалуйста как можно выявить топ запросов которые тратят больше всего ресурсов? топ 10 по косту топ 10 по времени выполнения топ 10 нагрузка на диски топ 10 запросов для работы которых потребовалось больше всего дискового пространства на tempdb (то есть из-за которыхз выросла база tempdb) Может у кого есть уже наработки ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2021, 14:39 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Sandist, sys.dm_exec_query_stats касательно статистики использования tempdb сможете получить только в момент выполнения запросов, хранения в разрезе отдельных запросов на моей памяти нет, если не настраивать отдельные xEvent ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2021, 15:27 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
felix_ff, подскажите пожалуйста а как можно получить информацию по запросам которые увеличивают tempdb на тек момент? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2021, 15:47 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Sandist, за это отвечают два представления sys.dm_db_session_space_usage sys.dm_db_task_space_usage можете погуглить что нибудь в формулировке приближенной к: sql server track queries consuming tempdb ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2021, 15:52 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Sandist привет ребята подскажите пожалуйста как можно выявить топ запросов которые тратят больше всего ресурсов? топ 10 по косту топ 10 по времени выполнения топ 10 нагрузка на диски топ 10 запросов для работы которых потребовалось больше всего дискового пространства на tempdb (то есть из-за которыхз выросла база tempdb) Может у кого есть уже наработки Версия SQL Server какая? Начиная с версии SQL 2016 появился Query store feature , который предназначен для мониторинга производительности SQL Server. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2021, 20:08 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Лучшего за бесплатно еще не придумали. http://whoisactive.com/ ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2021, 03:39 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
привет спасибо всем за отчеты но в большинстве они предлагают возможность узнать какой из запросов осуществляет запись в tempdb на текущий момент мне же нужно собрать некую статистику по запросам и в начале рабочего дня выгрузить отчет - какие запросы больше остальных использовали пространство на tempdb за вчерашний день был пример запроса тут https://qastack.ru/dba/19870/how-to-identify-which-query-is-filling-up-the-tempdb-transaction-log но там запрос предполагает выполнение в цикле и далее я в этом цикле через merge могу обновлять и добавлять запросы и собирать статистику, но что-то как-то такой подход не совсем мне кажется рациональным xEvent - как с помощью него добиться нужного мне результата совсем не понял ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2021, 12:47 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Relic Hunter Лучшего за бесплатно еще не придумали. http://whoisactive.com/ sp_blitzwho тоже очень неплох и в некоторых случаях выручал, когда sp_whoisactive "висел" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2021, 13:47 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Sandist, а смысл? Что вы намерены делать с запросами, которые используют tempdb? А если это разовый запрос? Копаете где светло, по-моему, а не где потеряли. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2021, 15:50 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Владислав Колосов, как в чем смысл? есть запрос который периодически забивает пространство на диске путем увеличения размеров tempdb, хочу выявить его ( и выявлять подобные в будущем) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2021, 16:10 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Sandist, Так, всё сообщение не осилили, видимо. Тогда вопросы по частям: Что вы намерены делать с запросами, которые используют tempdb? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2021, 16:19 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Sandist Владислав Колосов, как в чем смысл? есть запрос который периодически забивает пространство на диске путем увеличения размеров tempdb, хочу выявить его ( и выявлять подобные в будущем) так вам в таком случае не нужно каждую сессию мониторить сколько она потребляет места в tempdb создайте xEvent что то типа такого: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2021, 00:45 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
felix_ff, если автор - администратор сервера, то правильным решением было бы начать процедуру по закупке дисков, вместо "охоты на ведьм". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2021, 11:47 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Владислав Колосов, ну скажем так: иногда полезно знать - кто вредитель. у меня были прецеденты когда горе-пользователи запускали нерегламентированный запрос с огромным выходным набором order by на конце. было довольно неприятно наблюдать такую картину и в итоге пользователи получили по шапке и больше так не делали. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2021, 12:07 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
felix_ff, это единичные случаи, они отлавливаются в ходе появления инцидента, на регулярной основе нет смысла делать контроль. Если рабочие процессы устоялись, то надо только следить за местом на дисках. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2021, 12:10 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Владислав Колосов, мне бы хотелось это знать заранее, если вижу, что запрос потребляем много пространства, я бы получил письмо и сразу начал реагировать не думаю, что хорошим решением будет получить инфу когда уже все весит, все жалуются и запрос "виновник" уже отработал (особенно если это будет в выходные) Было бы здорово получить ответ на вопрос как, а не на вопрос зачем ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2021, 12:48 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Sandist Владислав Колосов, мне бы хотелось это знать заранее, если вижу, что запрос потребляем много пространства, я бы получил письмо и сразу начал реагировать не думаю, что хорошим решением будет получить инфу когда уже все весит, все жалуются и запрос "виновник" уже отработал (особенно если это будет в выходные) Было бы здорово получить ответ на вопрос как, а не на вопрос зачем Дело не в том, заранее вы будете знать или постфактум, все дело в том, что вы с этим запросом планируете делать? Kill SPID? Это может быть аналитический отчет, который аналитик строит для топов к важному собранию, и вам скажут, что его сейчас срубать нельзя. А система должна продолжать быстро работать, что тогда будете делать? Вот тут и начнется самое интересное, именно к этому вам предлагают перейти сразу. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2021, 13:06 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
А в MSSQL есть что-то типа AWR отчета (как в оракле) ? Т.е. пришел утром на работу, посмотрел типа AWR-отчета за последние сутки, сделал анализ трудных запросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2021, 13:50 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Владимир СА, именно это и пытаюсь реализовать на скуле по поводу того, что с ним делать. Есть запрос который периодически заполняет tempdb.. это это аналитический запрос который заполняется 1 раз и его убивать нельзя, ну тогда ок. Если нет - я постараюсь его оптимизировать и сделать так чтобы он не заполнял tempdb - очевидно ведь ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2021, 14:11 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Sandist, Есть хорошие скрипты от парня по имени BrentOzar, там очень много полезный статей и скриптов по выявлению "тяжелых" запросов. https://www.brentozar.com/blitzcache/ А вообще весь интернет забит скриптами ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2021, 14:34 |
|
выявление "тяжелый" запросов
|
|||
---|---|---|---|
#18+
Sandist, авторсделать так чтобы он не заполнял tempdb В целом, это невыполнимая задача, т.к. временные данные надо где-то хранить, например, а их объем, очевидно, зависит от выборки. 99.9% выборок правильные, то есть запросы пишут с пониманием того, что нужно выбрать, "всё по всему во всех базах" - это единичные случаи. Объем данных растет, растет и потребление tempdb. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2021, 19:00 |
|
|
start [/forum/topic.php?fid=46&fpage=21&tid=1684573]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
82ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 190ms |
0 / 0 |