Sdílet prostřednictvím


sys.dm_exec_connections (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsKoncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrací informace o spojení navázaných k této instanci databázového enginu a podrobnosti každého spojení. Vrací informace o připojení serveru pro SQL Server a Azure SQL Managed Instance. Vrací informace o spojení pro aktuální databázi v Azure SQL Database. Vrací informace o spojení pro všechny databáze ve stejném elastickém poolu pro databáze v elastických poolech v Azure SQL Database.

Poznámka:

Pro volání z dedikovaného SQL poolu v Azure Synapse Analytics nebo Analytics Platform System (PDW) viz sys.dm_pdw_exec_connections (Transact-SQL). Pro serverless SQL pool nebo Microsoft Fabric použijte sys.dm_exec_connections.

Název sloupce Datový typ Description
identifikátor_sezení int Identifikuje relaci spojenou s tímto spojením. Je nullable.
most_recent_session_id int Představuje ID relace pro nejnovější požadavek spojený s tímto spojením. (SOAP spojení lze znovu použít v jiné relaci.) Je neplatný.
connect_time datetime Časové razítko, kdy bylo spojení navázáno. Není možné nastavit jako null.
net_transport nvarchar(40) Při použití MARS vrací relaci pro každé další spojení spojené s logickou relací MARS.

Poznámka: Popisuje fyzický transportní protokol, který toto spojení používá. Není možné nastavit jako null.
protocol_type nvarchar(40) Specifikuje typ protokolu užitečného zatížení. V současnosti rozlišuje mezi TDS ("TSQL"), "SOAP" a "Database Mirroring". Je nullable.
protocol_version int Verze protokolu pro přístup k datům spojená s tímto spojením. Je nullable.
endpoint_id int Identifikátor, který popisuje, o jaký typ spojení jde. To endpoint_id lze použít k dotazování pohledu sys.endpoints . Je nullable.
encrypt_option nvarchar(40) Booleovská hodnota popisující, zda je šifrování pro toto spojení povoleno. Není možné nastavit jako null.

Pro HADR zrcadlení koncových bodů tento sloupec vždy vrací FALSE. Místo toho použijte sys.database_mirroring_endpoints DMV k ověření, zda jsou připojení k HADR zrcadlovému endpointu šifrována.
auth_scheme nvarchar(40) Specifikuje schéma ověřování SQL Server/Windows používané s tímto spojením. Není možné nastavit jako null.
node_affinity smallint Identifikuje paměťový uzel, ke kterému má toto spojení afinitu. Není možné nastavit jako null.
num_reads int Počet čtení bajtů, které proběhly přes toto spojení. Je nullable.
num_writes int Počet zápisů do bajtů, které proběhly přes toto spojení. Je nullable.
last_read datetime Časové razítko, kdy se naposledy četlo, bylo přes toto spojení. Je nullable.
last_write datetime Časové razítko, kdy proběhlo poslední zápis přes toto spojení. Je nullable.
net_packet_size int Velikost síťového paketu používaná pro přenos informací a dat. Je nullable.
client_net_address Varchar(48) Adresa hostitele klienta připojujícího se k tomuto serveru. Je nullable.
client_tcp_port int Číslo portu na klientském počítači, který je s tímto spojením spojen. Je nullable.

V Azure SQL Database tento sloupec vždy vrací NULL.
local_net_address Varchar(48) Představuje IP adresu na serveru, na kterou toto spojení cílilo. Dostupné pouze pro spojení využívající TCP transportního poskytovatele. Je nullable.

V Azure SQL Database tento sloupec vždy vrací NULL.
local_tcp_port int Představuje TCP port serveru, na který toto spojení cílilo, pokud šlo o spojení využívající TCP transport. Je nullable.

V Azure SQL Database tento sloupec vždy vrací NULL.
connection_id uniqueidentifier Identifikuje každé připojení jedinečně. Není možné nastavit jako null.
parent_connection_id uniqueidentifier Identifikuje primární spojení, které relace MARS používá. Je nullable.
most_recent_sql_handle varbinary(64) SQL handle posledního požadavku provedeného na tomto spojení. Sloupec most_recent_sql_handle je vždy synchronizovaný se sloupcem most_recent_session_id . Je nullable.
pdw_node_id int Platí na: Azure Synapse Analytics, Analytics Platform System (PDW)

Identifikátor uzlu, na který je tato distribuce zapnutá.

Povolení

Na SQL Serveru a službě SQL Managed Instance vyžaduje VIEW SERVER STATE oprávnění.

U cílů služby Azure SQL Database Basic, S0 a S1 a pro databáze v elastických fondech se vyžaduje účet správce serveru , účet správce Microsoft Entra nebo členství v ##MS_ServerStateReader##roli serveru . U všech ostatních cílů VIEW DATABASE STATE služby SQL Database se vyžaduje buď oprávnění k databázi, nebo členství v ##MS_ServerStateReader## roli serveru.

Oprávnění pro SQL Server 2022 a novější

Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU SERVERU na serveru.

Fyzické spoje

Schéma fyzických spojů pro sys.dm_exec_connections.

Kardinality relací

První prvek Druhý prvek Vztah
sys.dm_exec_sessions.session_id sys.dm_exec_connections.session_id Jedna ku nule nebo jedna ku mnohým
sys.dm_exec_requests.connection_id sys.dm_exec_connections.connection_id Vztah mnoha k jednomu jinému
sys.dm_broker_connections.connection_id sys.dm_exec_connections.connection_id One-to-one

Nejčastěji pro každý řádek v sys.dm_exec_connections existuje jeden shodný řádek v sys.dm_exec_sessions. Nicméně v některých případech, jako jsou interní systémové relace nebo aktivační procedury Service Broker , může být v řádku v sys.dm_exec_sessions bez odpovídajícího řádku sys.dm_exec_connections.

Při použití MARS může být více řádků sys.dm_exec_connections pro řádek v , sys.dm_exec_sessionsjeden řádek pro nadřazené spojení a jeden řádek pro každou logickou relaci MARS. Tyto poslední řádky lze identifikovat podle hodnoty ve sloupci nastaveném net_transport na Session. Pro tato spojení odpovídá hodnota ve connection_id sloupci pro sys.dm_exec_connectionsconnection_idsys.dm_exec_requests probíhající MARS požadavky.

Examples

Následující Transact-SQL dotaz shromažďuje informace o vlastním spojení dotazu.

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;  

Další kroky

Další informace o souvisejících konceptech najdete v následujících článcích: