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.
- sys.dm_exec_connections
- Retorna as informações de cada conexão estabelecida entre o depósito e o mecanismo.
- sys.dm_exec_sessions
- Retorna as informações sobre cada sessão autenticada entre o item e o mecanismo.
- sys.dm_exec_requests
- Retorna as informações sobre cada solicitação ativa em uma sessão.
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
esys.dm_exec_requests
ver seus próprios resultados no warehouse, mas não tem permissão para executarsys.dm_exec_connections
. - Somente um Administrador tem permissão para executar o
KILL
comando.