Estatísticas de consulta ao vivo

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureBanco de Dados SQL no Microsoft Fabric

SQL Server Management Studio fornece a capacidade de exibir o plano de execução ao vivo de uma consulta ativa. Esse plano de consulta dinâmica fornece informações em tempo real sobre o processo de execução da consulta, conforme os controles fluem de um operador de plano de consulta para outro. O plano de consulta em tempo real exibe o progresso geral da consulta e estatísticas de execução em tempo de execução no nível do operador, como o número de linhas produzidas, o tempo decorrido, o progresso do operador, entre outras.

Como você pode acessar esses dados em tempo real sem precisar aguardar a conclusão da consulta, essas estatísticas de execução são extremamente úteis para depurar problemas de desempenho de consulta.

Internamente, as estatísticas de consulta ao vivo usam a DMV sys.dm_exec_query_profiles.

Warning

Este recurso é usado principalmente para a solução de problemas. O uso desse recurso pode reduzir moderadamente o desempenho geral da consulta, especialmente em SQL Server 2014 (12.x). Para obter mais informações, confira Infraestrutura de Criação de Perfil de Consulta.
Você pode usar esse recurso com o Transact-SQL depurador.

Exibir estatísticas de consulta ao vivo para uma consulta

  1. Para exibir o plano de execução de consulta ao vivo, no menu ferramentas, selecione o ícone Incluir Estatísticas de Consulta Ao Vivo .

    Captura de tela do SQL Server Management Studio, mostrando o botão Estatísticas de Consulta Ao Vivo na barra de ferramentas.

    Você também pode acessar o plano de execução de consulta ao vivo clicando com o botão direito do mouse em uma consulta selecionada no Management Studio e selecionando Incluir Estatísticas de Consulta Ao Vivo.

    Captura de tela do SQL Server Management Studio, mostrando o botão Live Query Stats no menu pop-up.

  2. Executar a consulta. O plano de consulta ao vivo exibe o progresso geral da consulta e as estatísticas de execução (por exemplo, tempo transcorrido ou progresso) para os operadores do plano de consulta. As informações de andamento da consulta e as estatísticas de execução são atualizadas periodicamente enquanto a execução da consulta está em andamento. Use estas informações para entender o processo geral de execução de consultas e para depurar consultas de longa duração, consultas que são executadas indefinidamente, consultas que causam estouro (overflow) de tempdb e tempos limite (timeouts).

    Captura de tela do SQL Server Management Studio, mostrando o botão Live Query Stats no plano de execução.

Exibir estatísticas de consulta ao vivo para qualquer consulta

Você também pode acessar o plano de execução em tempo real no Monitor de Atividades clicando com o botão direito do mouse em qualquer consulta na tabela Processos ou Consultas Ativas e Caras.

Captura de tela do botão Estatísticas de Consulta Ao Vivo no Monitor de Atividades.

Remarks

Você deve habilitar a infraestrutura de perfil de estatísticas antes que as estatísticas de consulta dinâmica possam capturar informações sobre o progresso das consultas. Dependendo da versão, a sobrecarga pode ser significativa. Para obter mais informações sobre essa sobrecarga, consulte a Infraestrutura de Criação de Perfil de Consulta.

Permissions

  • Para preencher a página de resultados de Estatísticas de Consulta Dinâmica , você precisa da permissão no nível SHOWPLAN do banco de dados e de todas as permissões necessárias para executar a consulta.
  • No SQL Server, você precisa da permissão de nível de servidor VIEW SERVER STATE para ver as estatísticas atualizadas.
  • Nos níveis do Banco de Dados SQL Premium, você precisa da permissão VIEW DATABASE STATE no banco de dados para visualizar as estatísticas em tempo real. Nas Camadas Padrão e Básica do Banco de Dados SQL, você precisa da conta de administrador de servidor ou de administrador do Microsoft Entra para visualizar as estatísticas em tempo real.

Note

Microsoft Entra ID era conhecido anteriormente como Azure Active Directory (Azure AD).