Добрый день.
Хочу поделиться способом анализа производительности сервера СУБД, работающего на MS SQL, при помощи профайлера и системного монитора. Беглый поиск по Инфостарту по этой теме ничего не вывел, так что, надеюсь, кому-нибудь покажется интересным и пригодится на практике.
Итак, профайлер MS SQL может связать трассировку с логами системного монитора в одном окне, таким образом смотрим на график по какому-нибудь счетчику, видим резкие всплески, падения и тут же можем получить подозреваемых, которые могли это спровоцировать.
Чтобы воспользоваться такой возможностью, собираем, с помощью Permon, свои любимые счетчики. Параллельно включаем сбор трассировки в профайлере по событиям RPC:Completed (Stored Procedures) и SQL:BatchCompleted (TSQL). Если трассировку открыть из файла или таблицы БД, то станет доступен пункт меню Файл - Импорт данных производительности... (File - Import Performance Data...). Тут выбираем файл логов perfmon'а и получаем неплохую возможность для анализа влияния запросов на показатели счетчиков производительности. (см. картинку). С графиком можно работать как и в окне системного монитора (управлять галочками счетчиков, менять масштаб и т.д.)
Важно: при сборе трассировки надо отметить столбцы Start time и End Time, возможно, хватит какого-то одного из двух, но я не проверял.
Данный способ был подсмотрен в докладе Дениса Резника (Microsoft Data Platform MVP), за что ему летят лучи добра.
ПС: Моя первая статья на ИС, даже не статья, а заметка, соответственно опыта написания нет, прошу строго не судить. Если будет отклик от аудитории, то, возможно, продолжу публиковать интересные штуки далее.