sys.dm_exec_sessions
Data aggiornamento: 12 dicembre 2006
Restituisce una riga per ogni sessione autenticata in SQL Server. sys.dm_exec_sessions è una vista con ambito server che contiene informazioni su tutte le connessioni utente e le attività interne attive. Tali informazioni includono la versione del client, il nome del programma client, l'ora di accesso del client, l'utente che esegue l'accesso, l'impostazione di sessione corrente e altro. Utilizzare sys.dm_exec_sessions prima di tutto per visualizzare il carico di sistema corrente e individuare una sessione di interesse, quindi per raccogliere ulteriori informazioni su tale sessione utilizzando altre viste o funzioni a gestione dinamica.
Le viste a gestione dinamica sys.dm_exec_connections, sys.dm_exec_sessions e sys.dm_exec_requests corrispondono alla tabella di sistema sys.sysprocesses.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
session_id |
smallint |
Identifica la sessione associata a ogni connessione principale attiva. Non supporta valori Null. |
login_time |
datetime |
Data e ora in cui è stata stabilita la sessione. Non supporta valori Null. |
host_name |
nvarchar(128) |
Nome della workstation client specifica di una sessione. Il valore è NULL per le sessioni interne. Supporta valori Null. |
program_name |
nvarchar(128) |
Nome del programma client che ha iniziato la sessione. Il valore è NULL per le sessioni interne. Supporta valori Null. |
host_process_id |
int |
ID di processo del programma client che ha iniziato la sessione. Il valore è NULL per le sessioni interne. Supporta valori Null. |
client_version |
int |
Versione del protocollo TDS dell'interfaccia utilizzata dal client per connettersi al server. Il valore è NULL per le sessioni interne. Supporta valori Null. |
client_interface_name |
nvarchar(32) |
Nome del protocollo utilizzato dal client per connettersi al server. Il valore è NULL per le sessioni interne. Supporta valori Null. |
security_id |
varbinary(85) |
ID di protezione di Microsoft Windows associato all'account di accesso. Non supporta valori Null. |
login_name |
nvarchar(128) |
Nome dell'account di accesso di SQL Server con cui la sessione è attualmente in esecuzione. Per il nome dell'account di accesso originale che ha creato la sessione, vedere original_login_name. Può essere un nome di un account di accesso autenticato di SQL Server o un nome di un utente di dominio autenticato di Windows. Non supporta valori Null. |
nt_domain |
nvarchar(128) |
Dominio di Windows per il client se la sessione utilizza l'autenticazione di Windows o una connessione trusted. Il valore è NULL per le sessioni interne e per gli utenti non di dominio. Supporta valori Null. |
nt_user_name |
nvarchar(128) |
Nome utente di Windows per il client se la sessione utilizza l'autenticazione di Windows o una connessione trusted. Il valore è NULL per le sessioni interne e per gli utenti non di dominio. Supporta valori Null. |
status |
nvarchar(30) |
Stato della sessione. I valori possibili sono:
Non supporta valori Null. |
context_info |
varbinary(128) |
Valore di CONTEXT_INFO per la sessione. Le informazioni di contesto vengono impostate dall'utente tramite l'istruzione SET CONTEXT_INFO. Supporta valori Null. |
cpu_time |
int |
Tempo della CPU, espresso in millisecondi, utilizzato dalla sessione. Non supporta valori Null. |
memory_usage |
int |
Numero di pagine da 8 KB utilizzate dalla sessione. Non supporta valori Null. |
total_scheduled_time |
int |
Tempo totale, espresso in millisecondi, pianificato per l'esecuzione delle richieste nella sessione. Non supporta valori Null. |
total_elapsed_time |
int |
Tempo, espresso in millisecondi, trascorso dal momento in cui è stata stabilita la sessione. Non supporta valori Null. |
endpoint_id |
int |
ID dell'endpoint associato alla sessione. Non supporta valori Null. |
last_request_start_time |
datetime |
Data e ora in cui è iniziata l'ultima richiesta nella sessione. Include la richiesta attualmente in esecuzione. Non supporta valori Null. |
last_request_end_time |
datetime |
Data e ora dell'ultimo completamento di una richiesta nella sessione. Supporta valori Null. |
reads |
bigint |
Numero di letture eseguite dalle richieste della sessione durante la sessione. Non supporta valori Null. |
writes |
bigint |
Numero di scritture eseguite dalle richieste della sessione durante la sessione. Non supporta valori Null. |
logical_reads |
bigint |
Numero di letture logiche eseguite nella sessione. Non supporta valori Null. |
is_user_process |
bit |
0 se la sessione è una sessione di sistema. Negli altri casi è 1. Non supporta valori Null. |
text_size |
int |
Impostazione di TEXTSIZE per la sessione. Non supporta valori Null. |
language |
nvarchar(128) |
Impostazione di LANGUAGE per la sessione. Supporta valori Null. |
date_format |
nvarchar(3) |
Impostazione di DATEFORMAT per la sessione. Supporta valori Null. |
date_first |
smallint |
Impostazione di DATEFIRST per la sessione. Non supporta valori Null. |
quoted_identifier |
bit |
Impostazione di QUOTED_IDENTIFIER per la sessione. Non supporta valori Null. |
arithabort |
bit |
Impostazione di ARITHABORT per la sessione. Non supporta valori Null. |
ansi_null_dflt_on |
bit |
Impostazione di ANSI_NULL_DFLT_ON per la sessione. Non supporta valori Null. |
ansi_defaults |
bit |
Impostazione di ANSI_DEFAULTS per la sessione. Non supporta valori Null. |
ansi_warnings |
bit |
Impostazione di ANSI_WARNINGS per la sessione. Non supporta valori Null. |
ansi_padding |
bit |
Impostazione di ANSI_PADDING per la sessione. Non supporta valori Null. |
ansi_nulls |
bit |
Impostazione di ANSI_NULLS per la sessione. Non supporta valori Null. |
concat_null_yields_null |
bit |
Impostazione di CONCAT_NULL_YIELDS_NULL per la sessione. Non supporta valori Null. |
transaction_isolation_level |
smallint |
Livello di isolamento delle transazioni della sessione. 0 = Non specificato 1 = ReadUncomitted 2 = ReadCommitted 3 = Repeatable 4 = Serializable 5 = Snapshot Non supporta valori Null. |
lock_timeout |
int |
Impostazione di LOCK_TIMEOUT per la sessione. Il valore è espresso in millisecondi. Non supporta valori Null. |
deadlock_priority |
int |
Impostazione di DEADLOCK_PRIORITY per la sessione. Non supporta valori Null. |
row_count |
bigint |
Numero di righe restituite nella sessione fino a questo punto. Non supporta valori Null. |
prev_error |
int |
ID dell'ultimo errore restituito nella sessione. Non supporta valori Null. |
original_security_id |
varbinary(85) |
ID di protezione di Microsoft Windows associato a original_login_name. Non supporta valori Null. |
original_login_name |
nvarchar(128) |
Nome dell'account di accesso di SQL Server utilizzato dal client per creare la sessione. Può essere un nome di un account di accesso autenticato di SQL Server o un nome di un utente di dominio autenticato di Windows. Si noti che nella sessione potrebbero essersi verificati numerosi cambi di contesto impliciti o espliciti dopo la connessione iniziale, ad esempio in caso di utilizzo di EXECUTE AS. Non supporta valori Null. |
last_successful_logon |
datetime |
Data e ora dell'ultimo accesso riuscito di original_login_name prima dell'avvio della sessione corrente. |
last_unsuccessful_logon |
datetime |
Data e ora dell'ultimo accesso non riuscito di original_login_name prima dell'avvio della sessione corrente. |
unsuccessful_logons |
bigint |
Numero di tentativi di accesso non riusciti di original_login_name tra last_successful_logon e login_time. |
Autorizzazioni
È richiesta l'autorizzazione VIEW SERVER STATE nel server.
[!NOTA] Se si dispone dell'autorizzazione VIEW SERVER STATE per il server, è possibile visualizzare tutte le sessioni in esecuzione nell'istanza di SQL Server. In caso contrario, è possibile visualizzare solo la sessione corrente.
Osservazioni
Statistiche relative agli accessi per la conformità ai criteri comuni
Quando viene attivata l'opzione common criteria compliance enabled mediante la stored procedure sp_configure, le statistiche relative agli accessi vengono archiviate e visualizzate nelle colonne di sys.dm_exec_sessions seguenti:
- last_successful_logon
- last_unsuccessful_logon
- unsuccessful_logons
Se questa opzione di configurazione del server non è attivata, queste colonne di sys.dm_exec_sessions restituiranno valori Null. Per ulteriori informazioni sull'impostazione di questa opzione di configurazione del server, vedere Opzione common criteria compliance enabled.
Cardinalità delle relazioni
Da | A | In/Si applica a | Relazione |
---|---|---|---|
sys.dm_exec_sessions |
sys.dm_exec_requests |
session_id |
Uno-a-zero o uno-a-molti |
sys.dm_exec_sessions |
sys.dm_exec_connections |
session_id |
Uno-a-zero o uno-a-molti |
sys.dm_exec_sessions |
sys.dm_tran_session_transactions |
session_id |
Uno-a-zero o uno-a-molti |
sys.dm_exec_sessions |
sys.dm_exec_cursors(session_id | 0) |
session_id CROSS APPLY OUTER APPLY |
Uno-a-zero o uno-a-molti |
sys.dm_exec_sessions |
sys.dm_db_session_space_usage |
session_id |
Uno-a-uno |
Esempi
A. Individuazione degli utenti connessi al server
Nell'esempio seguente vengono individuati gli utenti connessi al server e viene restituito il numero di sessioni per ogni utente.
SELECT login_name ,COUNT(session_id) AS session_count
FROM sys.dm_exec_sessions
GROUP BY login_name;
B. Individuazione dei cursori con esecuzione prolungata
Nell'esempio seguente vengono individuati i cursori aperti per un periodo più lungo di quello specificato, l'utente che ha creato i cursori e la sessione in cui i cursori sono attivi.
USE master;
GO
SELECT creation_time ,cursor_id
,name ,c.session_id ,login_name
FROM sys.dm_exec_cursors(0) AS c
JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE DATEDIFF(mi, c.creation_time, GETDATE()) > 5;
C. Individuazione delle sessioni inattive con transazioni aperte
Nell'esempio seguente vengono individuate le sessioni inattive con transazioni aperte. Si definisce inattiva una sessione per cui non sono in esecuzione richieste.
SELECT s.*
FROM sys.dm_exec_sessions AS s
WHERE EXISTS
(
SELECT *
FROM sys.dm_tran_session_transactions AS t
WHERE t.session_id = s.session_id
)
AND NOT EXISTS
(
SELECT *
FROM sys.dm_exec_requests AS r
WHERE r.session_id = s.session_id
);
Vedere anche
Riferimento
Mapping delle tabelle di sistema di SQL Server 2000 alle viste di sistema di SQL Server 2005
Funzioni e viste a gestione dinamica
Funzioni e viste a gestione dinamica relative all'esecuzione
Altre risorse
Certificazione con criteri comuni
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
12 dicembre 2006 |
|