SQL Profiler: приклади налаштування, як користуватися

Підключення до сервера і аналіз ситуації

Перед тим як почати користуватися SQL Server Profiler, підключаються до сервера, на якому потрібно виконати профілювання. У вікні «Властивості трасування» на вкладці «Загальні» вибирають порожній шаблон. На вкладці «Вибір подій» вибирають графік «глухий кут» в розділі «Лист блокування».

Виконують наступні запити:

  • виконати запит у синьому прямокутнику;
  • виконати запит в зеленому прямокутнику;
  • виконати запит, виділений сірим кольором;
  • виконати запит, виділений синім.

Звертають увагу, що ідентифікатори процесів відображаються на інформаційній панелі у SQL. “Мертва блокування” буде сформовано при виконанні 4-го кроку: для подальшого аналізу це можна зберегти в меню “Файл” -> “Експорт” -> “Отримати події SQL Server” -> “Отримати події глухий кут”.

Аналіз графа тупикової ситуації:

  • Овальний з синім хрестиком являє транзакцію або процес, який був обраний в якості жертви глухого кута SQL Server.
  • Овали представляють процеси, а хрест – транзакцію або процес, який успішно завершено.
  • Пріоритет взаємоблокування встановлений за замовчуванням «0».
  • У користувача є журнал транзакцій. Якщо транзакція зробила багато оновлень, розмір журналу буде більше. Отже, для виконання тієї, яка виконала велика кількість оновлень, потрібно багато витрат.

    HoBtID (ідентифікатор купи або двійкового дерева), пов’язаний з вузлом ресурсу, використовується для пошуку об’єкта бази даних, яка бере участь у глухий кут, і представлений за допомогою наступного запиту:

    • SELECT object_name([object_id]) from sys.partitions;
    • WHERE hobt_id = xxxxxx.

    Стрілки представляють типи блокувань, які є на кожному сайті ресурсу. Позначення X і S на стрілках представляють ексклюзивні і загальні блокування.