sys.dm_exec_connections (Transact-SQL)
Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Endpoint di analisi SQL di Azure Synapse Analyticsin Microsoft FabricWarehouse in Microsoft Fabric
Restituisce informazioni sulle connessioni stabilite a questa istanza del motore di database e i dettagli di ogni connessione. Restituisce informazioni di connessione a livello di server per SQL Server e Istanza gestita di SQL di Azure. Restituisce le informazioni di connessione per il database corrente in database SQL di Azure. Restituisce informazioni di connessione per tutti i database nello stesso pool elastico per i database nei pool elastici in database SQL di Azure.
Nota
Per chiamare questa operazione dal pool SQL dedicato in Azure Synapse Analytics o dal sistema della piattaforma di analisi (PDW), vedere sys.dm_pdw_exec_connections (Transact-SQL). Per il pool SQL serverless o Microsoft Fabric 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. Nullable. |
connect_time | datetime | Timestamp relativo al momento in cui è stata stabilita la connessione. Non ammette i valori Null. |
net_transport | nvarchar(40) | Quando si usa MARS, restituisce Session per ogni connessione aggiuntiva associata a una sessione logica 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. Può endpoint_id essere usato per eseguire una query sulla sys.endpoints vista. 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 autenticazione di SQL Server/Windows usato 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 letture di byte che si sono verificate durante questa connessione. Ammette i valori Null. |
num_writes | int | Numero di scritture di byte che si sono verificate durante 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. Ammette i 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. |
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 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 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 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 most_recent_sql_handle colonna è sempre sincronizzata con la most_recent_session_id colonna. Ammette i valori Null. |
pdw_node_id | int | Si applica a: Azure Synapse Analytics, Piattaforma di analisi (PDW) Identificatore del nodo in cui è attiva la distribuzione. |
Autorizzazioni
In SQL Server e Istanza gestita di SQL è richiesta VIEW SERVER STATE
l'autorizzazione.
In database SQL di Azure obiettivi di servizio Basic, S0 e S1 e per i database nei pool elastici, è necessario l'account amministratore del server, l'account amministratore di Microsoft Entra o l'appartenenza al ruolo del ##MS_ServerStateReader##
server. Per tutti gli altri obiettivi di servizio database SQL, è necessaria l'autorizzazione VIEW DATABASE STATE
per il database o l'appartenenza al ruolo del ##MS_ServerStateReader##
server.
Autorizzazioni per SQL Server 2022 e versioni successive
È richiesta l'autorizzazione VIEW edizione Standard RVER PERFORMANCE STATE nel server.
Join fisici
Cardinalità delle relazioni
In genere, per ogni riga in sys.dm_exec_connections
è presente una singola riga corrispondente in sys.dm_exec_sessions
. Tuttavia, in alcuni casi, ad esempio sessioni interne di sistema o procedure di attivazione di Service Broker , potrebbe essere presente una riga in sys.dm_exec_sessions
senza una riga corrispondente in sys.dm_exec_connections
.
Quando si usa MARS, possono essere presenti più righe in sys.dm_exec_connections
per una riga in sys.dm_exec_sessions
, una riga per la connessione padre e una riga per ogni sessione logica MARS. Le ultime righe possono essere identificate dal valore nella net_transport
colonna impostata su Session. Per queste connessioni, il valore nella connection_id
colonna di sys.dm_exec_connections
corrisponde al valore nella connection_id
colonna di sys.dm_exec_requests
per le richieste MARS in corso.
Esempi
La query Transact-SQL seguente raccoglie informazioni sulla connessione di una query.
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;
Passaggi successivi
Altre informazioni sui concetti correlati sono disponibili negli articoli seguenti:
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per