Compartilhar via


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

Aplica-se a:✅ ponto de extremidade de análise do 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 sendo executadas ativamente?
  • 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 execução longa

Esta primeira consulta identifica a lista de consultas de execução prolongada na ordem em que a consulta demorou mais 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 execução prolongada.

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 ENCERRAR no session_id com a consulta de execução longa.

KILL 'SESSION_ID WITH LONG-RUNNING QUERY'

Por exemplo

KILL '101'

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, Colaborador e Visualizador pode executar sys.dm_exec_sessions e sys.dm_exec_requests ver seus próprios resultados no warehouse, mas não tem permissão para executar sys.dm_exec_connections.
  • Somente um Administrador tem permissão para executar o KILL comando.