sys.dm_pdw_exec_sessions (Transact-SQL)

Aplica-se a:Azure Synapse AnalyticsAnalytics Platform System (PDW)

Contém informações sobre todas as sessões atuais ou recentemente abertas. A sys.dm_pdw_exec_sessions visão de gerenciamento dinâmico (DMV) lista uma linha por sessão.

Nome da Coluna Tipo de dados Descrição Intervalo
session_id nvarchar(32) O ID da consulta atual ou da última consulta executada (se a sessão estiver TERMINADA e a consulta estivesse sendo executada no momento da terminação). Chave para esta visualização. Único em todas as sessões do sistema.
status nvarchar(10) Para sessões atuais, identifica se a sessão está ativa ou ociosa. Em sessões anteriores, o status da sessão pode mostrar encerrada ou encerrada (se a sessão foi encerrada à força). ACTIVE, CLOSED, IDLE, TERMINATED
request_id nvarchar(32) O ID da consulta atual ou da última consulta executada. Exclusivo em todas as solicitações no sistema. NULL se não tiver sido publicado.
security_id varbinary(85) ID de segurança do principal que conduz a sessão.
login_name nvarchar(128) O nome de login do principal que conduz a sessão. Qualquer string que esteja conforme as convenções de nomes do usuário.
login_time datetime Data e hora em que o usuário fez login e esta sessão foi criada. Data válida antes do horário atual.
query_count int Captura o número de consultas/solicitações que essa sessão realizou desde a criação. Maior ou igual a 0.
is_transactional bit Captura se uma sessão está dentro de uma transação ou não. 0 para auto-commit, 1 para transacional.
client_id nvarchar(255) Captura informações do cliente para a sessão. Endereço IPv6 indica que o endpoint privado é usado. Qualquer string válido.
app_name nvarchar(255) Captura informações do nome da aplicação opcionalmente definidas como parte do processo de conexão. Qualquer string válido.
sql_spid int A coluna IDs contém SPIDs fechados.

Para informações sobre o número máximo de linhas mantidas por esta visão, veja Metadados de limites de capacidade.

Permissions

Requer a permissão VIEW SERVER STATE.

Observações

Essa sintaxe não é suportada pelo pool de SQL sem servidor no Azure Synapse Analytics. Para pool SQL serverless, use sys.dm_exec_sessions.

Examples

A. Sessões ativas

Para encontrar a contagem das sessões ativas:

SELECT active_count = COUNT(session_Id)
FROM sys.dm_pdw_exec_sessions
WHERE status = 'ACTIVE';

B. Sessões abertas por mais de 10 minutos

Para encontrar sessões que estejam abertas por mais de 10 minutos:

SELECT *, session_duration_s = DATEDIFF (s, login_time, getdate() ) 
 FROM sys.dm_pdw_exec_sessions
 WHERE DATEDIFF (s, login_time, getdate() ) > 600; -- 10 minutes

C. Exibir aplicativos/usuários de sessão atualmente conectados

Encontrar informações de sessão, incluindo a aplicação de origem, quem está conectado, de onde vem a conexão e se está usando Microsoft Entra ID ou autenticação SQL.

SELECT DISTINCT CASE 
        WHEN len(tt) = 0
            THEN app_name
        ELSE tt
        END AS application_name
    ,login_name
    ,ip_address
FROM (
    SELECT DISTINCT app_name
        ,substring(client_id, 0, CHARINDEX(':', ISNULL(client_id, '0.0.0.0:123'))) AS ip_address
        ,login_name
        ,isnull(substring(app_name, 0, CHARINDEX('-', ISNULL(app_name, '-'))), 'h') AS tt
    FROM sys.dm_pdw_exec_sessions
    ) AS a;