sys.dm_pdw_exec_sessions (Transact-SQL)

Si applica a:Azure Synapse AnalyticsPiattaforma di strumenti analitici (PDW)

Contiene informazioni su tutte le sessioni attualmente o recentemente aperte. La sys.dm_pdw_exec_sessions vista di gestione dinamica (DMV) elenca una riga per sessione.

Nome della colonna Tipo di dati Descrizione Intervallo
session_id nvarchar(32) L'ID della query corrente o dell'ultima query eseguita (se la sessione è terminata e la query era in esecuzione al momento della terminazione). Chiave per questa visualizzazione. Unico in tutte le sessioni del sistema.
status nvarchar(10) Per le sessioni attuali, identifica se la sessione è attualmente attiva o inattiva. Per le sessioni precedenti, lo stato della sessione poteva mostrare chiuso o interrotto (se la sessione era chiusa con la forza). ACTIVE, CLOSED, IDLETERMINATED
request_id nvarchar(32) L'ID della query corrente o dell'ultima query eseguita. Univoco in tutte le richieste nel sistema. NULL se non è stato pubblicato.
security_id varbinary(85) ID di sicurezza del principale che gestisce la sessione.
login_name nvarchar(128) Il nome di accesso del principale che gestisce la sessione. Qualsiasi stringa conforme alle convenzioni di denominazione dell'utente.
login_time datetime Data e ora in cui l'utente ha effettuato il login e questa sessione è stata creata. Data valida prima dell'ora attuale.
query_count int Cattura il numero di query/richieste che questa sessione ha eseguito dalla creazione. Maggiore o uguale a 0.
is_transactional bit Cattura se una sessione si trova attualmente all'interno di una transazione o meno. 0 per l'auto-commit, 1 per la transazione.
client_id nvarchar(255) Raccoglie le informazioni dei clienti per la sessione. L'indirizzo IPv6 indica che viene utilizzato un endpoint privato. Qualsiasi stringa valida.
app_name nvarchar(255) Cattura le informazioni sul nome dell'applicazione impostate opzionalmente come parte del processo di connessione. Qualsiasi stringa valida.
sql_spid int La colonna degli ID contiene SPID chiusi.

Per informazioni sul numero massimo di righe conservate da questa vista, vedi Metadati dei limiti di capacità.

Permissions

È necessaria l'autorizzazione VIEW SERVER STATE.

Osservazioni:

Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics. Per il pool SQL serverless usa sys.dm_exec_sessions.

Examples

A. Sessioni attive

Per trovare il conteggio delle sessioni attive:

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

B. Sessioni aperte per più di 10 minuti

Per trovare sessioni aperte da più di 10 minuti:

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. Visualizza le applicazioni/utenti di sessione attualmente connessi

Per trovare le informazioni sulla sessione, inclusa l'applicazione di origine, chi è connesso, da dove proviene la connessione e se utilizza Microsoft Entra ID o autenticazione 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;