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

Откуда:
Сообщений: 403
Если ставить фильтр по дьюрейшен то планы не попадают. Если отключить фильтр что миллионы запросов и ничё не найти. Что можно сделать?
31 окт 14, 09:56    [16781055]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
Glory
Member

Откуда:
Сообщений: 104760
leonix
Если ставить фильтр по дьюрейшен то планы не попадают. Если отключить фильтр что миллионы запросов и ничё не найти. Что можно сделать?

Берете текст запроса, копируете в студию и получаете план
31 окт 14, 09:56    [16781061]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
leonix
Member

Откуда:
Сообщений: 403
Glory
leonix
Если ставить фильтр по дьюрейшен то планы не попадают. Если отключить фильтр что миллионы запросов и ничё не найти. Что можно сделать?

Берете текст запроса, копируете в студию и получаете план


Блин точно, чё я туплю. Но вроде как есть вероятность что он может по другому отработать?
31 окт 14, 10:00    [16781081]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
Павел-П
Member

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

Посмотрите http://msdn.microsoft.com/en-us/library/ms189747.aspx

Может что-нибудь для себя найдете.

C. Retrieve every query plan for which the server has gathered query statistics from the plan cache
To retrieve a snapshot of all query plans for which the server has gathered statistics that currently reside in the plan cache, retrieve the plan handles of these plans in the cache by querying the sys.dm_exec_query_stats dynamic management view. The plan handles are stored in the plan_handle column of sys.dm_exec_query_stats. Then use the CROSS APPLY operator to pass the plan handles to sys.dm_exec_query_plan as follows. The XML Showplan output for each plan for which the server has gathered statistics currently in the plan cache is in the query_plan column of the table that is returned.

USE master;
GO
SELECT * FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle);
GO
31 окт 14, 15:23    [16784096]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
leonix
Если ставить фильтр по дьюрейшен то планы не попадают. Если отключить фильтр что миллионы запросов и ничё не найти. Что можно сделать?


Я уверен, что тяжелые запросы связаны лишь с небольшим числом объектов. Поставьте их имена в фильтр и отловите уже не такую огромную партянку.
31 окт 14, 15:30    [16784154]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
Павел-П
Member

Откуда:
Сообщений: 234
Только сильно не увлекайтесь с использованием SQL profiler на продакшен.

SQL Server Profiler is a GUI that utilizes SQL Server Trace through the client-side. Due to this nature, yes you can potentially see a mild to severe performance impact depending on the environment.

SQL Server Profiler is suited mainly for a quick glimpse at what is happening on the server (provided the database server can handle the extra latency). It is not intended to be run for long periods of time. For longer traces, use a server-side trace or Extended Events.
31 окт 14, 15:56    [16784455]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Павел-П
Только сильно не увлекайтесь с использованием SQL profiler на продакшен.

SQL Server Profiler is a GUI that utilizes SQL Server Trace through the client-side. Due to this nature, yes you can potentially see a mild to severe performance impact depending on the environment.

SQL Server Profiler is suited mainly for a quick glimpse at what is happening on the server (provided the database server can handle the extra latency). It is not intended to be run for long periods of time. For longer traces, use a server-side trace or Extended Events.


Я большой "спец" по гонянию профайлера на продакшн серверах в течение многих суток. Чем неоднократно навлекал на себя возбухоны DBA-ев, но, тем не менее, остался при своём мнении, что гонять профайлер на продакш можно и нужно, если это делать правильно.

Никогда не настраивайте прямого сохранения трассы в файл или бд. Соберите трассу, аккуратно сохраните в файл, когда база наименее нагружена и дальнейшие развлечения делайте на другом серваке.
31 окт 14, 16:07    [16784567]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
a_voronin
Я большой "спец" по гонянию профайлера на продакшн серверах в течение многих суток.
...
Никогда не настраивайте прямого сохранения трассы в файл


К сообщению приложен файл. Размер - 17Kb
31 окт 14, 17:20    [16785191]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Knyazev Alexey
a_voronin
Я большой "спец" по гонянию профайлера на продакшн серверах в течение многих суток.
...
Никогда не настраивайте прямого сохранения трассы в файл


Я описался "Никогда не настраивайте прямого сохранения трассы в БАЗУ "
31 окт 14, 17:22    [16785203]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
a_voronin
Knyazev Alexey
пропущено...


Я описался "Никогда не настраивайте прямого сохранения трассы в БАЗУ "


да хоть куда...на продакшн на длительное время только XEvents или sp_trace*

профайлер - инструмент для анализа на стендах/офф-лайн анализа трассы/или запуск на очень непродолжительное время и в крайних случаях


если у вас сервак и так захлёбывается, то нафига его добивать профайлером?
31 окт 14, 17:28    [16785236]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Knyazev Alexey
добивать профайлером?


Очень распространённое заблуждение, что профайлер добивает сервак. Сейчас пойдут мега DBA-и c мегавоплями о том, что "таких к серверам пускать близко нельзя".
31 окт 14, 18:09    [16785465]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
invm
Member

Откуда: Москва
Сообщений: 9402
a_voronin
Очень распространённое заблуждение, что профайлер добивает сервак.
И мы увидим воспроизводимое репро или результаты независимых тестов, подтверждающие ваш тезис? Или, как обычно, это только ваш собственный "бесценный" опыт?
31 окт 14, 18:19    [16785525]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
invm
a_voronin
Очень распространённое заблуждение, что профайлер добивает сервак.
И мы увидим воспроизводимое репро или результаты независимых тестов, подтверждающие ваш тезис? Или, как обычно, это только ваш собственный "бесценный" опыт?


Воспроизводимое репро попросите запостить вот в этой теме. https://www.sql.ru/forum/1123985/chto-oznachaet-eto-slovo-v-it

А здесь я скажу... "да нафиг надо.... "
31 окт 14, 18:26    [16785565]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
invm
Member

Откуда: Москва
Сообщений: 9402
a_voronin
А здесь я скажу... "да нафиг надо.... "
Вполне ожидаемо :)
Как всегда, - бездоказательный трындеж и надувание щек...
31 окт 14, 18:30    [16785588]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
invm
a_voronin
А здесь я скажу... "да нафиг надо.... "
Вполне ожидаемо :)
Как всегда, - бездоказательный трындеж и надувание щек...


доказательства пусть собирает следователь для суда.
31 окт 14, 18:47    [16785652]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
a_voronin
invm
пропущено...
Вполне ожидаемо :)
Как всегда, - бездоказательный трындеж и надувание щек...


доказательства пусть собирает следователь для суда.
Флаг вам в руки и барабан на шею. Может на вашем сервер такая нагрузка, что можно и 5 профайлеров запустить и разницы не будет в производительности. Но не все что подходит в вашей ситуации - подойдет другим.
Есть примеры, когда профайлер просто убивал высоконагруженный сервер. Поэтому советовать всем, направо и налево, собирать ежедневно трассу на production сервере мне кажется не совсем правильно. Вероятность что все упадет маленькая, но она есть. И нужно хотя бы предупреждать о такой возможности.
31 окт 14, 21:41    [16786318]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть планы самых длительных запросов в прафайлере  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
Для запросов, которые выполняются в данный момент, можно и без профайлера:
Смотрим текущую активность SQL Server
4 ноя 14, 01:44    [16794962]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить