sys.dm_exec_connections (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-analysendpoint i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

Returnerar information om anslutningarna som etablerats till denna instans av databasmotorn och detaljer för varje anslutning. Returnerar serveromfattande anslutningsinformation för SQL Server och Azure SQL Managed Instance. Returnerar anslutningsinformation för den aktuella databasen i Azure SQL Database. Returnerar anslutningsinformation för alla databaser i samma elastiska pool för databaser i elastiska pooler i Azure SQL Database.

Anmärkning

För att anropa detta från en dedikerad SQL-pool i Azure Synapse Analytics eller Analytics Platform System (PDW), se sys.dm_pdw_exec_connections (Transact-SQL). För serverless SQL-pool eller Microsoft Fabric, använd sys.dm_exec_connections.

Kolumnnamn Datatyp Description
session_id int Identifierar sessionen som är kopplad till denna anslutning. Kan inte vara null.
most_recent_session_id int Representerar sessions-ID:t för den senaste förfrågan kopplad till denna anslutning. (SOAP-anslutningar kan återanvändas av en annan session.) Är ogiltig.
connect_time datetime Tidsstämpel när anslutningen etablerades. Får inte vara ogiltig.
net_transport nvarchar(40) När MARS används returneras Session för varje ytterligare anslutning som är kopplad till en MARS-logisk session.

Not: Beskriver det fysiska transportprotokollet som används av denna anslutning. Får inte vara ogiltig.
protocol_type nvarchar(40) Specificerar protokolltypen för nyttolasten. Den skiljer för närvarande mellan TDS ("TSQL"), "SOAP" och "Database Mirroring". Kan inte vara null.
protocol_version int Version av dataåtkomstprotokollet kopplat till denna anslutning. Kan inte vara null.
endpoint_id int En identifierare som beskriver vilken typ av anslutning det är. Detta endpoint_id kan användas för att fråga vyn sys.endpoints . Kan inte vara null.
encrypt_option nvarchar(40) Booleskt värde för att beskriva om kryptering är aktiverad för denna anslutning. Får inte vara ogiltig.

För HADR-speglingsändpunkter returnerar denna kolumn alltid FALSKT. Använd sys.database_mirroring_endpoints istället DMV för att kontrollera om anslutningar till en HADR-speglingsenhet är krypterade.
auth_scheme nvarchar(40) Specificerar SQL Server/Windows-autentiseringsschemat som används med denna anslutning. Får inte vara ogiltig.
node_affinity smallint Identifierar minnesnoden som denna koppling har affinitet till. Får inte vara ogiltig.
num_reads int Antal byteläsningar som har skett över denna anslutning. Kan inte vara null.
num_writes int Antal byteskrivningar som har skett över denna anslutning. Kan inte vara null.
last_read datetime Tidsstämpeln vid senaste läsningen skedde över denna koppling. Kan inte vara null.
last_write datetime Tidsstämpel när senaste skrivningen skedde över denna anslutning. Kan inte vara null.
net_packet_size int Nätverkspaketstorlek som används för informations- och dataöverföring. Kan inte vara null.
client_net_address Varchar(48) Värdadressen för klienten som ansluter till denna server. Kan inte vara null.
client_tcp_port int Portnummer på klientdatorn som är kopplad till denna anslutning. Kan inte vara null.

I Azure SQL Database returnerar denna kolumn alltid NULL.
local_net_address Varchar(48) Representerar IP-adressen på servern som denna anslutning riktade sig mot. Endast tillgängligt för anslutningar via TCP-transportleverantören. Kan inte vara null.

I Azure SQL Database returnerar denna kolumn alltid NULL.
local_tcp_port int Representerar serverns TCP-port som denna anslutning riktade sig mot om det var en anslutning som använder TCP-transporten. Kan inte vara null.

I Azure SQL Database returnerar denna kolumn alltid NULL.
connection_id uniqueidentifier Identifierar varje anslutning unikt. Får inte vara ogiltig.
parent_connection_id uniqueidentifier Identifierar den primära anslutningen som MARS-sessionen använder. Kan inte vara null.
most_recent_sql_handle varbinary(64) SQL-handtaget för den senaste förfrågan som utfördes på denna anslutning. Kolumnen most_recent_sql_handle är alltid synkroniserad med kolumnen most_recent_session_id . Kan inte vara null.
pdw_node_id int gäller för: Azure Synapse Analytics, Analytics Platform System (PDW)

Identifieraren för noden som den här fördelningen är på.

Permissions

På SQL Server och SQL Managed Instance kräver VIEW SERVER STATE behörighet.

I tjänstmålen för Azure SQL Database Basic, S0 och S1 och för databaser i elastiska pooler krävs serveradministratörskontot, Microsoft Entra-administratörskontot eller medlemskap i ##MS_ServerStateReader##. För alla andra SQL Database-tjänstmål krävs antingen VIEW DATABASE STATE behörighet för databasen eller medlemskap i ##MS_ServerStateReader## serverrollen.

Behörigheter för SQL Server 2022 och senare

Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.

Fysiska fogar

Diagram över fysiska fogar för sys.dm_exec_connections.

Relations kardinaliteter

Första elementet Andra elementet Förhållande
sys.dm_exec_sessions.session_id sys.dm_exec_connections.session_id Ett-till-noll eller ett-till-många
sys.dm_exec_requests.connection_id sys.dm_exec_connections.connection_id Många-till-en
sys.dm_broker_connections.connection_id sys.dm_exec_connections.connection_id One-to-one

Vanligast är att för varje rad i sys.dm_exec_connections finns det en enda matchande rad i sys.dm_exec_sessions. I vissa fall, såsom systeminterna sessioner eller aktiveringsprocedurer för Service Broker , kan det dock finnas en rad i sys.dm_exec_sessions utan en matchande rad i sys.dm_exec_connections.

När MARS används kan det finnas flera rader i sys.dm_exec_connections för en rad i sys.dm_exec_sessions, en rad för föräldraanslutningen och en rad för varje MARS-logisk session. De senare raderna kan identifieras genom värdet i kolumnen net_transport som sätts till Session. För dessa kopplingar matchar värdet i kolumnen connection_id av sys.dm_exec_connections värdet i connection_id kolumnen för sys.dm_exec_requests pågående MARS-förfrågningar.

Examples

Följande Transact-SQL förfrågan samlar information om en förfrågans egen koppling.

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;  

Nästa steg

Läs mer om relaterade begrepp i följande artiklar: