sys.dm_exec_connections (Transact-SQL)
Si applica a: SQL Server (tutte le versioni supportate)
database SQL di Azure
Azure Synapse Analytics
Restituisce informazioni sulle connessioni stabilite per questa istanza di SQL Server e i dettagli di ogni connessione. Restituisce informazioni di connessione a livello di server per SQL Server. Restituisce le informazioni di connessione al database correnti per database SQL.
Nota
Per chiamare questo metodo dal pool SQL dedicato in Azure Synapse Analytics o Piattaforma di strumenti analitici (PDW), vedere sys.dm_pdw_exec_connections (Transact-SQL). Per i pool SQL serverless usare sys.dm_exec_connections.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
session_id | int | Identifica la sessione associata alla connessione Ammette i valori Null. |
most_recent_session_id | int | Rappresenta l'ID di sessione della richiesta più recente associata alla connessione. Le connessioni SOAP possono essere riutilizzate da un'altra sessione. Ammette valori Null. |
connect_time | datetime | Timestamp relativo al momento in cui è stata stabilita la connessione. Non ammette i valori Null. |
net_transport | nvarchar(40) | Restituisce sempre Session quando per una connessione sono abilitati più set di risultati attivi (MARS). Nota: Descrive il protocollo di trasporto fisico utilizzato da questa connessione. Non ammette i valori Null. |
protocol_type | nvarchar(40) | Specifica il tipo di protocollo del payload. Attualmente distingue tra TDS ("TSQL"), "SOAP" e "Mirroring del database". Ammette i valori Null. |
protocol_version | int | Versione del protocollo di accesso ai dati associato a questa connessione. Ammette i valori Null. |
endpoint_id | int | Identificatore che descrive il tipo di connessione. Il valore di endpoint_id può essere utilizzato per eseguire query nella vista sys.endpoints. Ammette i valori Null. |
encrypt_option | nvarchar(40) | Valore booleano che specifica se per la connessione è abilitata la crittografia. Non ammette i valori Null. |
auth_scheme | nvarchar(40) | Specifica lo schema di SQL Server/Autenticazione di Windows utilizzato con questa connessione. Non ammette i valori Null. |
node_affinity | smallint | Identifica il nodo di memoria con cui la connessione dispone di affinità. Non ammette i valori Null. |
num_reads | int | Numero di operazioni di lettura in byte che si sono verificate su questa connessione. Ammette i valori Null. |
num_writes | int | Numero di scritture in byte che si sono verificate su questa connessione. Ammette i valori Null. |
last_read | datetime | Timestamp dell'ultima lettura eseguita sulla connessione. Ammette i valori Null. |
last_write | datetime | Timestamp dell'ultima scrittura eseguita sulla connessione. Non ammette valori Null. |
net_packet_size | int | Dimensioni dei pacchetti di rete utilizzate per il trasferimento di informazioni e dati. Ammette i valori Null. |
client_net_address | varchar(48) | Indirizzo host del client che si connette al server. Ammette i valori Null. Prima di V12 in database SQL di Azure, questa colonna restituisce sempre NULL. |
client_tcp_port | int | Numero di porta del computer client associato alla connessione. Ammette i valori Null. In database SQL di Azure questa colonna restituisce sempre un valore NULL. |
local_net_address | varchar(48) | Rappresenta l'indirizzo IP del server di destinazione della connessione. Disponibile solo per le connessioni che utilizzano il provider del trasporto TCP. Ammette i valori Null. In database SQL di Azure questa colonna restituisce sempre un valore NULL. |
local_tcp_port | int | Rappresenta la porta TCP del server che verrebbe impiegata in caso di utilizzo del trasporto TCP per la connessione. Ammette i valori Null. In database SQL di Azure questa colonna restituisce sempre un valore NULL. |
connection_id | uniqueidentifier | Identifica in modo univoco ogni connessione. Non ammette i valori Null. |
parent_connection_id | uniqueidentifier | Identifica la connessione primaria utilizzata dalla sessione MARS. Ammette i valori Null. |
most_recent_sql_handle | varbinary(64) | Handle SQL dell'ultima richiesta eseguita sulla connessione. La colonna most_recent_sql_handle è sempre sincronizzata con la colonna most_recent_session_id. Ammette i valori Null. |
pdw_node_id | int | Si applica a: Azure Synapse Analytics, Piattaforma di strumenti analitici (PDW) Identificatore del nodo in cui si trova la distribuzione. |
Autorizzazioni
In SQL Server e in SQL Istanza gestita è richiesta l'autorizzazione VIEW SERVER STATE
.
Negli database SQL di servizio Basic, S0 e S1 e per i database nei pool elastici è necessario l'account amministratore del server, l'account ##MS_ServerStateReader##
amministratore di Azure Active Directory o l'appartenenza al ruolo del server. In tutti gli altri database SQL di servizio, è necessaria l'autorizzazione VIEW DATABASE STATE
per il database o l'appartenenza al ##MS_ServerStateReader##
ruolo del server.
Join fisici
Cardinalità delle relazioni
Primo elemento | Secondo elemento | Relazione |
---|---|---|
dm_exec_sessions.session_id | dm_exec_connections.session_id | Uno-a-uno |
dm_exec_requests.connection_id | dm_exec_connections.connection_id | Molti-a-uno |
dm_broker_connections.connection_id | dm_exec_connections.connection_id | Uno-a-uno |
Esempio
Query tipica per raccogliere informazioni su una connessione query personalizzata.
SELECT
c.session_id, c.net_transport, c.encrypt_option,
c.auth_scheme, s.host_name, s.program_name,
s.client_interface_name, s.login_name, s.nt_domain,
s.nt_user_name, s.original_login_name, c.connect_time,
s.login_time
FROM sys.dm_exec_connections AS c
JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE c.session_id = @@SPID;
Vedere anche
Funzioni e viste a gestione dinamica relative all'esecuzione (Transact-SQL)