Partilhar via


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

Aplica-se a:✅ ponto de extremidade de análise 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 de execução de consultas T-SQL, consulte Consultar o depósito.

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 sendo executadas ativamente?
  • Quais consultas são de longa duração?

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

Exemplo de consultas do Detran

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 MATAR uma consulta de longa execução

Esta primeira consulta identifica a lista de consultas de longa execução na ordem em que a consulta demorou mais tempo desde que chegou.

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 qual usuário executou a sessão que tem a consulta de longa execução.

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

Esta terceira consulta mostra como usar o comando KILL na session_id consulta de longa duração.

KILL 'SESSION_ID WITH LONG-RUNNING QUERY'

Por exemplo

KILL '101'

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, Colaborador e Visualizador pode executar sys.dm_exec_sessions e sys.dm_exec_requests ver seus próprios resultados dentro do depósito, mas não tem permissão para executar sys.dm_exec_connections.
  • Apenas um administrador tem permissão para executar o KILL comando.