Поделиться через


Статистика динамических запросов

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureSQL в базе данных Microsoft Fabric

SQL Server Management Studio предоставляет возможность просматривать план динамического выполнения активного запроса. Этот динамический план запроса позволяет анализировать процесс выполнения запроса в режиме реального времени по мере передачи управления от одного оператора плана запроса другому. План динамического запроса отображает общую статистику выполнения запроса и статистику выполнения на уровне оператора, например количество созданных строк, время ожидания, ход выполнения оператора и многое другое.

Так как вы можете получить доступ к этим данным в режиме реального времени без необходимости ожидать завершения запроса, эти статистические данные выполнения крайне полезны для отладки проблем с производительностью запросов.

Во внутреннем режиме статистика динамических запросов использует sys.dm_exec_query_profiles DMV.

Warning

Эта функция предназначена в основном для диагностики. Использование этой функции может умеренно замедлить общую производительность запросов, особенно в SQL Server 2014 (12.x). Дополнительные сведения см. в разделе Инфраструктура профилирования запросов.
Эту функцию можно использовать с отладчиком Transact-SQL.

Просмотр статистики динамических запросов для одного запроса

  1. Чтобы просмотреть план выполнения динамических запросов, в меню инструментов выберите значок "Включить статистику динамических запросов ".

    Screenshot из SQL Server Management Studio, где отображается кнопка

    Вы также можете получить доступ к плану выполнения динамических запросов, щелкнув правой кнопкой мыши выбранный запрос в Management Studio, а затем выбрав включить статистику динамических запросов.

    Скриншот из SQL Server Management Studio, показывающий кнопку Live Query Stats во всплывающем меню.

  2. Выполните запрос. План динамического запроса отображает общую ход выполнения запроса и статистику выполнения (например, истекшее время или ход выполнения) для операторов плана запроса. Сведения о ходе выполнения запроса и статистика выполнения периодически обновляются во время выполнения запроса. Используйте эти сведения, чтобы понять общий процесс выполнения запросов и отладить длительные запросы, запросы, которые выполняются неограниченное время, запросы, вызывающие tempdb переполнение и время ожидания.

    Снимок экрана из SQL Server Management Studio, где показана кнопка

Просмотр статистики динамических запросов для любого запроса

Вы также можете получить доступ к плану динамического выполнения из монитора действий , щелкнув правой кнопкой мыши любой запрос в таблице "Процессы " или " Активные дорогие запросы ".

Снимок экрана: кнопка

Remarks

Необходимо включить инфраструктуру профиля статистики, прежде чем статистика динамических запросов может записывать сведения о ходе выполнения запросов. В зависимости от версии затраты могут быть значительными. Дополнительные сведения об этой нагрузке см. в разделе "Инфраструктура профилирования запросов".

Permissions

  • Чтобы заполнить страницу результатов статистики динамических запросов , необходимо разрешение уровня SHOWPLAN базы данных и все разрешения, необходимые для выполнения запроса.
  • На SQL Server требуется разрешение VIEW SERVER STATE уровня сервера, чтобы просмотреть динамическую статистику.
  • На уровнях "Премиум" базы данных SQL необходимо VIEW DATABASE STATE разрешение в базе данных для просмотра динамической статистики. На уровнях базы данных SQL Standard и Basic требуется учетная запись администратора сервера или администратора Microsoft Entra для просмотра живой статистики.

Note

Microsoft Entra ID ранее был известен как Azure Active Directory (Azure AD).