Monitorar conexões, sessões e solicitações usando DMVs

Aplica-se a:✅ ponto final de analíticos SQL e Warehouse no Microsoft Fabric

Você pode usar DMVs (exibições de gerenciamento dinâmico) existentes para monitorar o status da conexão, da sessão e da solicitação no Microsoft Fabric. Para obter mais informações sobre as ferramentas e métodos para executar consultas T-SQL, consulte Consultar o armazém de dados.

Como monitorar conexões, sessões e solicitações usando DMVs do ciclo de vida da consulta

Para a versão atual, há três exibições de gerenciamento dinâmico (DMVs) fornecidas para que você receba insights do ciclo de vida da consulta SQL em tempo real.

Esses três DMVs fornecem informações detalhadas sobre os seguintes cenários:

  • Quem é o usuário que executa a sessão?
  • Quando a sessão foi iniciada pelo usuário?
  • Qual é o ID da conexão com o data warehouse e a sessão que está executando a solicitação?
  • Quantas consultas estão atualmente em execução?
  • Que consultas demoram mais tempo?

Neste tutorial, saiba como monitorar suas consultas SQL em execução usando exibições de gerenciamento dinâmico (DMVs).

Exemplos de consultas DMV

O exemplo a seguir consulta sys.dm_exec_sessions para localizar todas as sessões que estão em execução no momento.

SELECT * 
FROM sys.dm_exec_sessions;

Encontre a relação entre conexões e sessões

O exemplo a seguir une sys.dm_exec_connections e sys.dm_exec_sessions à relação entre a sessão ativa em uma conexão específica.

SELECT connections.connection_id,
 connections.connect_time,
 sessions.session_id, sessions.login_name, sessions.login_time, sessions.status
FROM sys.dm_exec_connections AS connections
INNER JOIN sys.dm_exec_sessions AS sessions
ON connections.session_id=sessions.session_id;

Identificar e terminar uma consulta de execução prolongada

Esta primeira consulta identifica a lista de consultas de longa duração, por ordem da consulta que demorou mais tempo desde que foi recebida.

SELECT request_id, session_id, start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE status = 'running'
ORDER BY total_elapsed_time DESC;

Esta segunda consulta mostra que utilizador executou a sessão que tem a consulta de longa duração.

SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';

Esta terceira consulta mostra como utilizar o comando KILL em session_id com a consulta de execução prolongada.

KILL 'SESSION_ID WITH LONG-RUNNING QUERY'

Por exemplo

KILL '101'

Para um guia passo a passo para diagnosticar e resolver o bloqueio de consultas, veja Resolução de problemas do bloqueio de consultas em Fabric Data Warehouse.

Permissões

  • Um administrador tem permissões para executar todos os três DMVs (sys.dm_exec_connections, sys.dm_exec_sessions, sys.dm_exec_requests) para ver suas próprias informações e as de outras pessoas em um espaço de trabalho.
  • Um Membro, um Colaborador e um Visualizador podem executar sys.dm_exec_sessions e sys.dm_exec_requests e ver os seus próprios resultados no armazém de dados, mas não têm permissão para executar sys.dm_exec_connections.
  • Apenas um administrador tem permissão para executar o KILL comando.