SQL Profiler – це інструмент, що надає користувальницький інтерфейс для утиліти SQL Trace, яка збирає події по мірі їх виникнення в екземпляра SQL Server. Це дає можливість відслідковувати все, що відбувається всередині примірника. ЗА надає простий у використанні інтерфейс, який дозволяє вибирати події відстеження і місце, де потрібно зберегти висновок.
Позитивним є те, що користувачі, які працюють із програмою, не вимагається знання всіх системних процесів, що є частиною SQL Trace. Без цього інструменту їм довелося б пройти через виснажливий процес ручного налаштування кожного етапу і виконати фільтрацію з окремими викликами збережених процедур.
Принцип роботи SQL Server Profiler
Інструмент працює, забезпечуючи адміністраторів БД і розробникам загальне уявлення про систему. Користувачі створюють трасування для збору даних і відстеження помилок. Потім використовують профілювальник для зберігання, вилучення та графічного перегляду результатів трассировок в цілях усунення несправностей і ремонту. Ця функція відбувається на стороні клієнта, тобто вона використовує ресурси на тій же машині, за якою спостерігає.
Щоб запустити ПО, переходять в “Пуск” – > “Програми” > Microsoft SQL Server > “Інструменти продуктивності” > SQL Profiler.
Список переваг для розробників і адміністраторів баз даних:
Інструменти аналізу баз даних
Адміністратора баз даних необхідні інструменти, що дозволяють аналізувати дії в БД SQL Server для усунення можливих проблем додатки, БД або просто для моніторингу загального стану системи. Доступ до інтерфейсу SQL Profiler отримують із Server Management Studio.
Він представляє простий у використанні інтерфейс, який дозволяє користувачеві вибирати події і відстежувати, де зберігати висновок, без необхідності знати всі системні процедури, які є частиною SQL Trace. Без цього інструменту довелося б пройти через виснажливий процес ручного налаштування кожного етапу і виконати фільтрацію з окремими викликами збережених процедур для кожного події, яку потрібно налаштувати у своїй трасуванні.
SQL Profiler має багато варіантів використання, але його головна мета – відстежувати активність у примірнику Server. Якщо є проблема з останнім чи просто потрібно перевірити загальний стан і продуктивність бази даних, програма дає можливість відстежувати всі – від звичайної користувацької активності і транзакції до блокувань і систем помилки. І також можна виконати запобіжне обслуговування примірника для виявлення будь-яких неефективних запитів, настроювань і використовувати для захоплення великого періоду часу відтворення тестової системи.
Нарешті, MS SQL Profiler використовується для виконання аудиту. У користувача є можливість визначати дані входу і виходу з системи, щоб бачити, хто звертається до примірника і з яких систем вони отримують до нього доступ. Можна фіксувати всі події DDL, які будуть містити журнал всіх змін, внесених у середу.
Доступні версії програми
MS SQL Profiler доступна лише у випусках SQL Server Enterprise, Business Intelligence і Standard, однак якщо в середовищі встановлений Enterprise або Standard, його можна використовувати для профілювання будь-яких інших випусків, наприклад, Express SQL Profiler або Web. Розширені події були випущені в Server 2008, який вважається заміною Profiler або Trace, як і раніше, широко використовується і продовжує представляти цінність для задоволення численних потреб адміністраторів баз даних.
Як при установці MS SQL server Profiler, так і при створенні схеми БД існують рекомендації, які варто дотримувати. Є також деякі поради, які слід враховувати при налаштуванні трасування з використанням Profiler. Ці рекомендації допоможуть користувачеві контролювати примірник Server, не викликаючи надмірних витрат і не збільшуючи вплив на проблему продуктивності.
Шаблони для швидкого доступу
Є кілька варіантів запуску Profiler. У різних версіях Windows відкривають його через «Пуск» або Metro Interface в більш пізніх випусках. Більш просунуті користувачі воліють просто запустити його з SSMS, який завжди відкритий. Юзер може знайти SQL в меню інструментів.
Після запуску програми відкривають діалогове вікно, що дозволяє виконати підключення до сервера, який потрібно профілювати. З розділу «Рекомендації» підключаються до віддаленого сервера. Після того як заповнені дані підключення, натискають «Підключитися».
Тепер, коли користувач підключений до сервера, він побачить вікно «Властивості трасування», в якому є дві вкладки. Перша – «Загальні» – дозволяє називати слід.
Перед тим як користуватися SQL Profiler, потрібно вибрати шаблон для збору даних. Шаблони – це в основному збережений набір подій і стовпців даних, які потрібно відстежувати. Вони дозволяють швидко запустити трасування без необхідності вручну вибирати всі події і стовпці даних при кожному запуску нового сеансу. Microsoft надає кілька варіантів, обраний за замовчуванням «Стандартний».
Далі визначають, де зберегти дані трасування, якщо користувач не хоче просто переглядати в графічному інтерфейсі. Є можливість зберегти дані в файл і вказати параметри ролловер (приховані у налаштуваннях шаблону), або в таблиці з уточненням кількості рядків у ній. Визначають час зупинки для трасування.
Вибір для відстеження подій
На другій вкладці у вікні «Вибір» налаштовують, які події потрібно відстежувати і які стовпці потрібно включити конкретної події. На вкладці додають фільтри і змінюють порядок організації даних у правому нижньому куті інтерфейсу. Оскільки на попередній вкладці вибраний шаблон «Стандарт», події та стовпці даних вже заповнені. На цьому етапі редагують або просто натискають «Виконати», щоб запустити трасування як є. Після в правому нижньому кутку з’явиться екран, який відображає події по мірі їх захоплення.
Для того щоб призупинити або припинити трасування, можна використовувати кнопки на панелі інструментів. Всі події зберігаються перед перезапуском, інакше вони будуть втрачені. Якщо користувач призупинить трасування, він не втратить дані, які зібрав, але пропустить всі події, що відбулися під час призупинення.
Подія – це дія, яка відбувається в користувальницькому примірнику бази даних SQL Profiler Oracle. У трасуванні можна налаштувати більш ніж 150 різних подій.
Щоб додати події у сеанс, переходять на вкладку «Вибір подій». У правому нижньому кутку екрану є прапорець «Показати всі події». Якщо встановити його, він перерахує всі події у вікні вище. Також відзначають прапорець «Показати всі стовпці», щоб при виборі події були обрані всі стовпці даних.
Визначення стовпців даних
Стовпець даних – це фрагмент даних, який описує деяку частину події, яка сталася у БД. Такі речі, як вхід в систему, час початку, успішне або невдале подія – це різні типи даних, які можна збирати для налаштованого у сеансі трасування SQL.
Існує понад 60 стовпців даних, які можна додати до трасуванні, але в залежності від того, яка подія вибрано, цей стовпець може бути доступним чи ні. Для перегляду опису доступних стовпців необхідно спочатку вибрати настроюється подія.
Щоб додати стовпці сеанс, відкривають вкладку «Вибір». Встановлюють прапорець «Показати все». У вікні вище будуть відображатися прапорці для кожного доступного для будь-яких відкритих подій. В якості альтернативи вибирають окремі стовпці кожної події, і потрібно або вибрати сам стовпець, або вибрати проверяемое подія.
Фільтри в сеансі трасування
Profiler дозволяє користувачеві відфільтрувати дані, захоплені в сеансі SQL. r, щоб обмежити обсяг здобутих. Фільтр застосовується до будь-якого стовпця, який є частиною вибраного події. Навіть якщо стовпець не збережено як частину сеансу трасування SQL, все одно застосовують фільтри на його основі. Щоб створити фільтр, вибирають кнопку «Фільтри стовпців» на вкладці «Вибір».
Після вибору з’явиться діалогове вікно «Змінити фільтр». Далі вибирають стовпець даних LoginName, в якому містяться пропозиції порівняння тексту, і відфільтровують з допомогою LoginName, наприклад, іменем «Сервер». При використанні оператора LIKE слід мати на увазі, що якщо користувач не включить знак підстановки «%», він буде розглядатися як оператор рівності (=). Наприклад, якщо потрібно знайти якого-небудь оператора, виконаного ім’ям входу, яке починається з «app», в якості фільтра буде «app%». В залежності від вибраного стовпця з’являться різні оператори порівняння.
Рекомендації по налаштуванню
Profiler – відмінний інструмент, який дозволяє побачити, що відбувається всередині Server, і допоможе користувачам з’ясувати, які найгірші запити, як часто виконується запит.
Для реалізації найкращих можливих індексів виконують 4 кроки:
Для відстеження у конкретної БД використовують функцію фільтрації стовпців. Запускають трасування через шаблон налаштування і зберігають дані трасування в його файл.
Алгоритм процесу:
Результати показують, наскільки можна домогтися поліпшення, якщо пропозиції будуть реалізовані, і що потрібно реалізувати для підвищення швидкості роботи БД.
Для того щоб перехопити глухий кут, з допомогою Profiler, роблять наступне:
Підключення до сервера і аналіз ситуації
Перед тим як почати користуватися SQL Server Profiler, підключаються до сервера, на якому потрібно виконати профілювання. У вікні «Властивості трасування» на вкладці «Загальні» вибирають порожній шаблон. На вкладці «Вибір подій» вибирають графік «глухий кут» в розділі «Лист блокування».
Виконують наступні запити:
- виконати запит у синьому прямокутнику;
- виконати запит в зеленому прямокутнику;
- виконати запит, виділений сірим кольором;
- виконати запит, виділений синім.
Звертають увагу, що ідентифікатори процесів відображаються на інформаційній панелі у SQL. “Мертва блокування” буде сформовано при виконанні 4-го кроку: для подальшого аналізу це можна зберегти в меню “Файл” -> “Експорт” -> “Отримати події SQL Server” -> “Отримати події глухий кут”.
Аналіз графа тупикової ситуації:
У користувача є журнал транзакцій. Якщо транзакція зробила багато оновлень, розмір журналу буде більше. Отже, для виконання тієї, яка виконала велика кількість оновлень, потрібно багато витрат.
HoBtID (ідентифікатор купи або двійкового дерева), пов’язаний з вузлом ресурсу, використовується для пошуку об’єкта бази даних, яка бере участь у глухий кут, і представлений за допомогою наступного запиту:
- SELECT object_name([object_id]) from sys.partitions;
- WHERE hobt_id = xxxxxx.
Стрілки представляють типи блокувань, які є на кожному сайті ресурсу. Позначення X і S на стрілках представляють ексклюзивні і загальні блокування.
Використання профілю в 1С
SQL Server Profiler з графічною оболонкою використовується в бухгалтерській програмі 1С для створення трас і аналізу результуючої трасування із збереженням подій в трассировочных файлах. На їх базі виконується аналіз ситуації утворилися проблем.
Для створення треків Profiler запускають програму, формують маршрут і налаштовують аналіз індикаторів. Перед тим як налаштувати для 1С для SQL Profiler, виконують наступні кроки:
Альтернативні інструменти профилировщика
Незважаючи на популярність SQL Profiler, це не єдиний спосіб відслідковувати сервер. Наступні альтернативи виконують аналогічну функцію:
Трасування на стороні сервера вважається найкращою, оскільки на стороні клієнта може виснажувати досить локальних ресурсів для викривлення результатів. Такий вид трасування не використовує ресурси на стороні клієнта, вимагає менших витрат і забезпечує більш точний моніторинг та звітність.
Таким чином, очевидно, що профілювальник дозволяє розробникам і адміністраторам баз даних (DBA) створювати і обробляти трасування, а також відтворювати та аналізувати їх результати.