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

Откуда:
Сообщений: 114
Подскажите такое дело
поставлена задача определить в 2х БД самый тяжёлые запросы
сервер перезжает на новое железо и начальству нужен красивый отчёт
мол потратили столько, а запросы начали отрабатывать на столько то процентов быстрее
или наоборот
где мне собрать такую инфу
если в профайлере, то как
я с ним мало работал
спасибо






blog
11 июл 12, 17:54    [12852345]     Ответить | Цитировать Сообщить модератору
 Re: top 20 запросов  [new]
Alex5555555555
Member

Откуда:
Сообщений: 114
или репорта Object Execution Statistics будет достаточно для составления такого отчётика?
11 июл 12, 18:01    [12852391]     Ответить | Цитировать Сообщить модератору
 Re: top 20 запросов  [new]
kain111
Member

Откуда:
Сообщений: 227
----  самые тяжелые запросы
SELECT TOP 1000  creation_time,last_execution_time,execution_count,total_worker_time,total_worker_time/execution_count AS mid_proc,total_elapsed_time,total_elapsed_time/execution_count AS mid_time,total_logical_reads,total_logical_writes
 ,st.text
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
ORDER BY mid_proc desc


1вот список запросов отсортированных по среднему процессорному времени с последнего бэкапа лога транзакций, там полно информации.

2й вариант настройку сбор статистики это которая в Managment Studio на раскрытой базе вкладка -управление-сбор данных. но какая там информация и в каком виде присутствует сказать не могу, но есть там что то под названием query statistics. Статистика (по умолчанию) собирается каждые 15 секунд и потому может прилично нагружать сервер.

Но учти, что точных академических данных без тестов не получится, если сервер постоянно под нагрузкой, то статические данные собираются для каждого запроса несмотря на параллельную нагрузку.
12 июл 12, 10:22    [12854586]     Ответить | Цитировать Сообщить модератору
 Re: top 20 запросов  [new]
svenom
Member [заблокирован]

Откуда:
Сообщений: 3242
1) Создайте в профайлере описание трейса, которых хотите собрать
2) Заэкспортируйте его описание (Script Trace Definition)
3) Откройте в редакторе, и укажите имя файла, куда писать аутпут
4) Теперь вы можете запускать этот скрипт когда надо через sp_trace_setstatus.
5) Погоняйте трейс на старом окружении в боевых условиях, потом на новом
6) Заимпортируйте полученые файлики в профайлер, понаделайте красивых скриншотов

Что именно писать в трейс - на этот вопрос можете ответить только вы. В качестве отправной точки используйте logical reads и cpu.

Кроме того, полученные данные очень хорошо бы объединить со статистикой из стандартного Performance Monitor винды, профайлер умеет это делать - тогда вы четко увидите профит от нового железа.
12 июл 12, 11:05    [12854890]     Ответить | Цитировать Сообщить модератору
 Re: top 20 запросов  [new]
Alex5555555555
Member

Откуда:
Сообщений: 114
kain111, спасибо, пробую

svenom, спасибо, профайлер буду постигать, описание хорошее




блог
12 июл 12, 12:40    [12855911]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить