что такое профилировщик xevent
Использование профилировщика XEvent для SSMS
Профилировщик XEvent — это компонент SQL Server Management Studio (SSMS), который отображает динамическое окно просмотра расширенных событий. В этом обзоре описаны возможные причины для использования этого профилировщика, его основные функции и действия, необходимые для просмотра расширенных событий.
Когда стоит использовать профилировщик XEvent?
Предварительные требования
Эта функция доступна только в SQL Server Management Studio (SSMS) 17.3 и более поздних версиях. Убедитесь, что вы используете последнюю версию. Ее можно найти здесь.
Приступая к работе
Чтобы открыть профилировщик XEvent, выполните следующие действия.
Откройте SQL Server Management Studio.
Подключитесь к экземпляру ядра СУБД SQL Server или к узлу localhost.
В обозревателе объектов найдите пункт меню «Профилировщик XE» и разверните его, щелкнув значок «+».
Чтобы просмотреть все расширенные события в этом сеансе, дважды щелкните пункт Стандартный. Чтобы просмотреть записанные в журнал инструкции SQL, щелкните T-SQL. Если сеанс еще не создан, система создаст его за вас.
Теперь можно просмотреть расширенные события.
Инфраструктура профилирования запросов
Компонент SQL Server Database Engine предоставляет возможность доступа к сведениям среды выполнения о планах выполнения запросов. При возникновении проблемы с производительностью одним из самых важных действий является получение сведений о том, какая рабочая нагрузка выполняется в данный момент и каким образом происходит управление ресурсами. Для осуществления этого важно иметь доступ к действительному плану выполнения.
Несмотря на то, что для доступности действительного плана запроса необходимо дождаться завершения выполнения запроса, динамическая статистика запросов может анализировать процесс выполнения запроса в режиме реального времени, по мере передачи управления от одного оператора плана запроса другому. Динамический план запроса отображает общий ход выполнения запроса и текущую статистику выполнения на уровне оператора, например число полученных строк, затраченное время, ход выполнения оператора и т. д. Так как эти данные доступны в режиме реального времени и, чтобы их увидеть, не нужно дожидаться завершения запроса, такая статистика чрезвычайно полезна для отладки проблем с производительностью запросов, таких как долгое или «бесконечное» выполнение запросов.
Стандартная инфраструктура профилирования статистики выполнения запросов
Инфраструктуру профилей статистики выполнения запросов, или стандартное профилирование, необходимо включить для сбора сведений о планах выполнения, а именно числе строк, использовании ЦП и операциях ввода-вывода. Следующие методы сбора сведений о плане выполнения для целевого сеанса используют стандартную инфраструктуру профилирования:
Режим Включить динамическую статистику запросов в SQL Server Management Studio использует стандартную инфраструктуру профилирования.
В более поздних версиях SQL Server, если включена упрощенная инфраструктура профилирования, именно она используется для динамической статистики запросов вместо обычного профилирования при просмотре через Монитор активности или прямые запросы sys.dm_exec_query_profiles динамического административного представления.
Следующие методы сбора сведений о плане выполнения глобально для всех сеансов используют стандартную инфраструктуру профилирования:
При выполнении сеанса расширенного события, использующего событие query_post_execution_showplan, также заполняется динамическое административное представление sys.dm_exec_query_profiles, которое включает динамическую статистику запросов для всех сеансов при помощи монитора активности или прямого запроса динамического административного представления. Дополнительные сведения см. в статье Live Query Statistics.
Упрощенная инфраструктура профилирования статистики выполнения запросов
Начиная с SQL Server 2014 (12.x) SP2 и SQL Server 2016 (13.x); была введена новая упрощенная инфраструктура профилирования статистики выполнения запросов, или упрощенное профилирование.
Хранимые процедуры, скомпилированные в собственном коде, не поддерживаются в упрощенном профилировании.
Упрощенная инфраструктура профилирования статистики выполнения запросов версии 1
Область применения: SQL Server (с SQL Server 2014 (12.x) с пакетом обновления 2 по SQL Server 2016 (13.x);).
Начиная с SQL Server 2014 (12.x) SP2 и SQL Server 2016 (13.x); потребление ресурсов при сборе сведений о планах выполнения было снижено путем введения упрощенного профилирования. В отличие от стандартного, упрощенное профилирование не собирает сведения о ЦП среды выполнения. Однако упрощенное профилирование по-прежнему собирает сведения о количестве строк и сведения об использовании операций ввода-вывода.
Также было добавлено новое расширенное событие query_thread_profile, использующее упрощенное профилирование. Это расширенное событие предоставляет статистику выполнения по операторам, позволяя получить больше сведений о производительности каждого узла и потока. Ниже приведен пример сеанса, использующего это расширенное событие.
При выполнении сеанса расширенного события, использующего событие query_thread_profile, также заполняется динамическое административное представление sys.dm_exec_query_profiles с помощью упрощенного профилирования, которое включает динамическую статистику запросов для всех сеансов при помощи монитора активности или прямого запроса динамического административного представления.
Упрощенная инфраструктура профилирования статистики выполнения запросов версии 2
Область применения: SQL Server (с SQL Server 2016 (13.x); с пакетом обновления 1 по SQL Server 2017 (14.x);)
SQL Server 2016 (13.x); SP1 включает переработанную версию упрощенного профилирования с минимальным потреблением ресурсов. Упрощенное профилирование можно также включить глобально с помощью флага трассировки 7412 в версиях, указанных выше в поле Применимо к. Новая функция динамического управления sys.dm_exec_query_statistics_xml введена для возвращения плана выполнения запроса для активных запросов.
Начиная с SQL Server 2016 (13.x); SP2 CU3 и SQL Server 2017 (14.x); CU11, если упрощенное профилирование не включено глобально, можно использовать указание запроса USE HINT с новым аргументом QUERY_PLAN_PROFILE для включения упрощенного профилирования на уровне запроса для любого сеанса. После завершения запроса, содержащего это новое указание, также выводится новое расширенное событие query_plan_profile _, предоставляющее действительный план выполнения в формате XML, аналогично расширенному событию _query_post_execution_showplan.
Расширенное событие query_plan_profile также использует упрощенное профилирование, даже если указание запроса отсутствует.
Пример сеанса с расширенным событием query_plan_profile можно настроить, как показано ниже:
Упрощенная инфраструктура профилирования статистики выполнения запросов версии 3
Применимо к: SQL Server (начиная с SQL Server 2019 (15.x)) и База данных SQL Azure
Новое расширенное событие query_post_execution_plan_profile служит для сбора эквивалента действительного плана выполнения на основе упрощенного, а не стандартного профилирования, как в случае с событием query_post_execution_showplan. SQL Server 2017 (14.x); также предлагает это событие, начиная с CU14. Пример сеанса с расширенным событием query_post_execution_plan_profile можно настроить, как показано ниже.
Пример 1. Сеанс расширенных событий на основе стандартного профилирования
Пример 2. Сеанс расширенных событий на основе упрощенного профилирования
Руководство по использованию инфраструктуры профилирования запросов
В приведенной ниже таблице перечислены действия по включению стандартного или упрощенного профилирования глобально (на уровне сервера) или в одном сеансе. В ней также приведены сведения о минимальных версиях, поддерживающих это действие.
Remarks
Из-за возможных случайных нарушений прав доступа во время выполнения мониторинга хранимой процедуры, которая ссылается на sys.dm_exec_query_statistics_xml, необходимо установить исправление 4078596 КБ на SQL Server 2016 (13.x); и SQL Server 2017 (14.x);.
В SQL Server 2017 (14.x); упрощенное профилирование по умолчанию отключено, но оно включается при запуске трассировки XEvent на основе query_post_execution_plan_profile и снова отключается при остановке трассировки. Поэтому если трассировка XEvent на основе query_post_execution_plan_profile часто запускается и останавливается на экземпляре SQL Server 2017 (14.x);, настоятельно рекомендуется включить упрощенное профилирование на глобальном уровне, установив флаг трассировки 7412, чтобы избежать повторяющихся издержек на включение и отключение профилирования.
Обзор функционала SQL Server Management Studio (SSMS)
Приветствую Вас на сайте Info-Comp.ru! Сегодня мы с Вами подробно рассмотрим функционал одного очень популярного инструмента для работы с Microsoft SQL Server — графической среды SQL Server Management Studio (SSMS).
Что такое SQL Server Management Studio
SQL Server Management Studio (SSMS) – это бесплатная графическая среда, включающая набор инструментов для разработки сценариев на T-SQL и управления инфраструктурой Microsoft SQL Server.
Среда SQL Server Management Studio – это основной, стандартный и полнофункциональный инструмент для работы с Microsoft SQL Server, разработанный компанией Microsoft, который предназначен как для разработчиков, так и для администраторов SQL Server.
С помощью SSMS Вы можете разрабатывать базы данных, выполнять инструкции T-SQL, а также администрировать Microsoft SQL Server.
Если в Ваши задачи входит полное сопровождение Microsoft SQL Server, начиная от создания баз данных, написания SQL запросов, создания хранимых процедур и функций, и заканчивая администрированием SQL Server, включая управление безопасностью, то основным Вашим инструментом будет как раз среда SQL Server Management Studio.
Среда SQL Server Management Studio реализована только под Windows, поэтому если Вам нужен инструмент для работы с Microsoft SQL Server, который будет работать на других платформах, например, на Linux или macOS, то Вам следует использовать инструмент Azure Data Studio, который также является официальным инструментом, разработанным компанией Microsoft.
Основной функционал SQL Server Management Studio
Теперь давайте рассмотрим функционал и возможности среды SQL Server Management Studio, иными словами, какие именно действия и операции мы можем выполнять, используя данный инструмент.
Сначала давайте посмотрим на общий перечень возможностей, которые нам предоставляет среда SQL Server Management Studio, а затем более подробно рассмотрим каждый пункт из этого перечня.
Подключение к службам SQL Server
С помощью SQL Server Management Studio мы можем подключаться не только к ядру СУБД, но и к другим компонентам SQL Server, например, к службам Analysis Services (SSAS), Integration Services (SSIS) и Reporting Services (SSRS).
Таким образом, мы можем управлять объектами служб Analysis Services, например, выполнять их резервное копирование и обработку, создавать скрипты для служб Analysis Services и выполнять другие операции.
Также используя Management Studio мы можем управлять пакетами SSIS, например, выполнять импорт и экспорт пакетов.
Кроме этого SSMS позволяет администрировать службы Reporting Services, т.е. управлять ролями, заданиями и так далее.
Обозреватель объектов
Обозреватель объектов среды SQL Server Management Studio – это графический пользовательский интерфейс для просмотра и управления объектами в каждом экземпляре SQL Server.
Обозреватель объектов Management Studio предоставляет интерфейс, в котором структура объектов сервера представлена в очень удобном иерархическом виде, напоминает что-то вроде файловой системы Windows, т.е. папки, подпапки, файлы и т.д.
Таким образом, с помощью обозревателя объектов мы легко можем посмотреть, какие базы данных, таблицы, функции, хранимые процедуры и другие объекты есть на SQL Server, включая пользователей, связанные серверы и так далее.
Обозреватель шаблонов
Шаблоны в SQL Server Management Studio – это файлы, содержащие стандартный SQL код, который предназначен для создания объектов на SQL Server.
Иными словами, это готовые SQL скрипты, содержащие заголовки SQL инструкций, в которые всего лишь необходимо подставить свои данные, например, имена объектов, чтобы создать тот или иной объект на SQL Server.
Обозреватель шаблонов Management Studio позволяет просматривать и использовать доступные шаблоны.
Таким образом, мы можем использовать шаблоны для создания или изменения таких объектов как:
Кроме этого, для часто выполняемых задач мы можем создать свои собственные пользовательские шаблоны, для случаев когда нет подходящего встроенного шаблона, и тем самым упростить и ускорить выполнение таких задач.
Редактор SQL кода
Основное назначение среды SQL Server Management Studio – это, конечно же, разработка, выполнение и отладка кода на T-SQL, иными словами, написание и выполнение SQL запросов и инструкций. Поэтому SSMS обладает современным и продвинутым редактором SQL кода, который поддерживает технологию IntelliSense, т.е. автодополнение, например, Вы начинаете писать первые буквы объекта, а редактор сам дописывает его, точнее, показывает возможные варианты окончания.
Кроме этого у редактора есть подсветка синтаксиса и другие полезные возможности.
Чтобы открыть редактор SQL кода в среде Management Studio, необходимо на панели инструментов нажать на кнопку «Создать запрос». Именно здесь пишутся и выполняются все SQL запросы и инструкции к базам данных.
Просмотр плана выполнения запроса
План выполнения запроса – это последовательность операций, выполняемых внутри SQL Server, которые необходимы для получения результата SQL запроса.
Прежде чем выполнить SQL запрос SQL Server должен проанализировать инструкции и определить наиболее эффективный способ доступа к данным.
Этот анализ выполняется компонентом, который называется «Оптимизатор запросов». Входные данные оптимизатора запросов как раз и являются планом выполнения запроса.
SQL Server Management Studio позволяет просматривать план выполнения запроса и тем самым выявлять наиболее ресурсоемкие операции в запросе с целью оптимизации скорости выполнения этого запроса.
Чтобы показать план выполнения запроса, необходимо на панели нажать на иконку «Показать предлагаемый план выполнения».
Обозреватель решений
Решение в SQL Server Management Studio – это набор из одного или нескольких взаимосвязанных проектов.
Проекты в SQL Server Management Studio – это контейнеры для организации взаимосвязанных файлов, например, файлов с SQL инструкциями, которые используются при разработке того или иного функционала в базах данных.
Обозреватель решений в Management Studio создан как раз для того, чтобы управлять всеми решениями и проектами.
Таким образом, с помощью «Обозревателя решений» мы можем все свои SQL скрипты сгруппировать в проект, тем самым систематизировать все файлы и иметь к ним более удобный доступ.
Конструктор таблиц
Конструктор таблиц – это визуальный инструмент для разработки таблиц в базах данных.
С помощью конструктора таблиц SQL Server Management Studio можно создавать, редактировать и удалять:
Таким образом, благодаря функционалу конструктора таблиц мы может создавать и редактировать таблицы базы данных, при этом даже не используя язык SQL.
Конструктор баз данных (Диаграммы баз данных)
Конструктор баз данных — это визуальный инструмент для разработки баз данных, который позволяет конструировать и визуализировать базу данных, с которой установлено соединение.
Конструктор баз данных можно использовать для создания, редактирования и удаления таблиц, столбцов, ключей, индексов, связей и ограничений.
Кроме этого конструктор позволяет визуализировать базу данных, т.е. создать ER-диаграмму базы данных. Можно создать как одну, так и несколько диаграмм, иллюстрирующих некоторые или все имеющиеся в ней таблицы, столбцы, ключи и связи.
Чтобы запустить конструктор баз данных и создать диаграмму базы данных, необходимо в обозревателе объектов щелкнуть правой кнопкой мыши по контейнеру «Диаграммы баз данных» и выбрать пункт «Создать диаграмму базы данных».
Конструктор запросов и представлений
Конструктор запросов и представлений – это визуальный инструмент для разработки запросов и представлений.
В данном конструкторе доступно 4 панели:
Таким образом, с помощью данного конструктора можно конструировать запросы к базе данных, при этом используя только мышку.
Чтобы открыть конструктор запросов, необходимо в редакторе запросов щелкнуть правой кнопкой мыши в любом месте и выбрать пункт «Создать запрос в редакторе», кстати, можно выделить существующий SQL запрос, если он есть, и точно также создать запрос в редакторе, в этом случае конструктор автоматически визуализирует данный SQL запрос.
Чтобы открыть конструктор представлений, необходимо в обозревателе щелкнуть правой кнопкой мыши по нужному представлению и выбрать пункт «Разработка».
Просмотр свойств объектов
Среда SQL Server Management Studio позволяет просматривать и изменять свойства объектов SQL Server в обозревателе объектов.
Практически у каждого объекта на SQL Server есть свойства, которые как раз и можно изменить с помощью графических инструментов среды SQL Server Management Studio или просто посмотреть.
Например, для редактирования свойств базы данных необходимо в обозревателе объектов выбрать базу, щелкнуть по ней правой кнопкой мыши и выбрать «Свойства».
Мастер создания скриптов
В SQL Server Management Studio есть очень полезный функционал, который позволяет сгенерировать скрипт создания объектов базы данных, чтобы, например, использовать этот скрипт на другом экземпляре SQL Server для создания точно таких же объектов.
SQL скрипт объекта базы данных – это SQL инструкция, с помощью которой создается этот объект, сохраненная в текстовом файле.
С помощью данного мастера мы можем очень легко сгенерировать SQL скрипт создания практически любого объекта на SQL Server.
Такой скрипт может включать:
Такие SQL скрипты могут быть очень полезны администраторам или разработчикам, например, для того, чтобы в случае необходимости иметь возможность быстро восстановить объекты базы данных с помощью этих скриптов, или для того, чтобы передать эти SQL скрипты другому администратору, разработчику или заказчику, чтобы он создал подобные объекты на своем экземпляре SQL Server.
Таким образом, с помощью данного мастера мы можем создать некий дамп базы данных, содержащий SQL скрипты создания объектов этой базы данных и наполнения их данными.
Управление безопасностью SQL Server
Среда SQL Server Management Studio позволяет не только разрабатывать и выполнять T-SQL код, но управлять SQL сервером, в частности управлять безопасностью сервера.
С помощью SSMS можно создавать имена входа на сервер, пользователей баз данных, а также настраивать доступ к объектам сервера.
Для управления безопасностью на уровне сервера необходимо зайти в контейнер «Безопасность», для управления безопасностью базы данных необходимо зайти в одноимённый контейнер на уровне базы данных.
Присоединение и отсоединение баз данных
В среде SQL Server Management Studio есть визуальный инструмент для отсоединения и присоединения баз данных (detach, attach). Таким образом, если у Вас возникла необходимость, например, отсоединить базу данных и перенести ее на другой сервер, то это можно очень легко сделать с помощью SSMS.
Чтобы присоединить базу данных, необходимо вызвать контекстное меню у контейнера «Базы данных» и выбрать пункт «Присоединить».
Создание резервных копий баз данных и восстановление баз данных из архива
С помощью SQL Server Management Studio можно, используя графический интерфейс, создавать резервные копии баз данных, а также восстанавливать базы из этих резервных копий.
Создание связанных серверов (Linked Server)
В SQL Server Management Studio кроме всего прочего есть графические инструменты для создания связанных серверов.
Монитор активности SQL Server
Монитор активности – это инструмент, который отображает сведения о текущих процессах в SQL Server.
С помощью данного монитора мы можем отслеживать активность на сервере, например, мы можем видеть, какие SQL запросы и инструкции в данный момент выполняются, какие пользователи подключены к SQL Server и так далее.
Для запуска монитора активности необходимо щелкнуть правой кнопкой мыши по серверу в обозревателе объектов и выбрать пункт «Монитор активности» или кликнуть на иконку на панели инструментов.
Монитор активности представляет собой окно с развертываемыми панелями, которые отображают: общие сведения в виде графиков, процессы, ожидающие ресурсы, ввод-вывод в файл данных, последние ресурсоемкие запросы и активные ресурсоемкие запросы.
Настройка репликации баз данных
В среде SQL Server Management Studio есть графический инструмент для настройки репликации баз данных.
В обозревателе объектов контейнер так и называется «Репликация».
Профилировщик XEvent
Профилировщик XEvent – это компонент SQL Server Management Studio, который отображает динамическое окно просмотра расширенных событий.
Профилировщик позволяет получить быстрый доступ к динамическому потоковому представлению диагностических событий в SQL Server, например, с целью выявления различных проблем.
Вот мы с Вами и рассмотрели основные возможности и функционал среды SQL Server Management Studio, конечно же, есть и другой полезный функционал, однако уместить все в одной статье не получится, поэтому на сегодня это все, надеюсь, материал был Вам интересен и полезен, пока!