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

Aplica-se a:✅ endpoint de análises SQL e Warehouse no Microsoft Fabric

Você pode usar as Exibições de Gerenciamento Dinâmico (DMVs) 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 Warehouse.

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

Na versão atual, há três Exibições de Gerenciamento Dinâmico (DMVs) fornecidas para que você receba informações sobre o ciclo de vida da consulta SQL em tempo real.

Essas três DMVs fornecem insights detalhados sobre os seguintes cenários:

  • Quem é o usuário que está executando a sessão?
  • Quando a sessão foi iniciada pelo usuário?
  • Qual é a ID da conexão com o data Warehouse e a sessão que está executando a solicitação?
  • Quantas consultas estão ativamente em execução?
  • Quais consultas são de longa execução?

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

Exemplo de consultas DMV

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

SELECT * 
FROM sys.dm_exec_sessions;

Localizar 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 ENCERRAR uma consulta de longa duração

Esta primeira consulta identifica a lista de consultas de longa duração, em ordem decrescente de tempo decorrido desde que foram iniciadas.

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 iniciou a sessão que contém 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 usar o comando KILL no session_id da consulta de longa duração.

KILL 'SESSION_ID WITH LONG-RUNNING QUERY'

Por exemplo

KILL '101'

Para obter um guia passo a passo para diagnosticar e resolver o bloqueio de consulta, consulte Solucionar problemas de bloqueio de consulta em Fabric Data Warehouse.

Permissões

  • Um Administrador tem permissões para executar todas as três DMVs (sys.dm_exec_connections, sys.dm_exec_sessions, sys.dm_exec_requests) para ver suas próprias informações e 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 próprios resultados no data warehouse, mas não têm permissão para executar sys.dm_exec_connections.
  • Somente um Administrador tem permissão para executar o KILL comando.