Megosztás a következőn keresztül:


sys.dm_exec_connections (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsSQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Információkat ad vissza az adatbázis-motor ezen példányához létrehozott kapcsolatokról és minden kapcsolat részleteiről. Szerver szintű kapcsolati információkat ad vissza SQL Server és Azure SQL Managed Instance esetén. Visszaadja a kapcsolati adatokat az aktuális adatbázishoz az Azure SQL Database-ben. Visszaadja az összes adatbázis kapcsolati adatait ugyanabban a rugalmas poolban az Azure SQL Database-ben lévő rugalmas poolokban lévő adatbázisokhoz.

Megjegyzés:

Az Azure Synapse Analytics vagy Analytics Platform System (PDW) dedikált SQL pooljából való megnevezéshez lásd sys.dm_pdw_exec_connections (Transact-SQL) Serverless SQL poolhoz vagy Microsoft Fabrichez használd sys.dm_exec_connections.

Oszlop név Adattípus Description
munkamenet_azonosító int Azonosítja a kapcsolódó ülést. Null értékű.
most_recent_session_id int A legutóbbi kéréshez tartozó session azonosítóját jelöli. (A SOAP csatlakozások egy másik alkalommal is felhasználhatók.) Nullálható.
connect_time datetime Időbélyeg, amikor a kapcsolat létrejött. Nem lehet null értékű.
net_transport nvarchar(40) Ha a MARS használatot használjuk, minden további kapcsolat esetén a Session-t adja vissza, amely egy MARS logikai üléshez kapcsolódik.

Jegyzet: Leírja a fizikai átviteli protokollt, amelyet ez a kapcsolat használ. Nem lehet null értékű.
protocol_type nvarchar(40) Megadja a tether protokolltípusát. Jelenleg megkülönbözteti a TDS-t ("TSQL"), a "Soap" és az "Database Mirroring" (Database Mirroring) típusokat. Null értékű.
protocol_version int Az adathozzáférési protokoll verziója, amely ehhez a kapcsolathoz kapcsolódik. Null értékű.
endpoint_id int Egy azonosító, amely leírja, milyen típusú kapcsolatról van szó. Ezt endpoint_id a nézet lekérdezésére sys.endpoints lehet használni. Null értékű.
encrypt_option nvarchar(40) Boolean érték annak leírására, hogy engedélyezett-e a titkosítás ezen a kapcsolaton. Nem lehet null értékű.

A HADR végpontok tükrözésére ez az oszlop mindig HAMIS-t ad vissza. Használd inkább a sys.database_mirroring_endpoints DMV-t, hogy ellenőrizd, titkosítva-e a HADR tükröző végponthoz vezető kapcsolatok.
auth_scheme nvarchar(40) Megadja az SQL Server/Windows hitelesítési sémát, amelyet ehhez a kapcsolathoz használnak. Nem lehet null értékű.
node_affinity smallint Azonosítja azt a memóriacsomópontot, amelyhez ez a kapcsolat affinitással rendelkezik. Nem lehet null értékű.
num_reads int A bájtolvasások száma, amelyek ezen a kapcsolaton történtek. Null értékű.
num_writes int Hány bájt írás történt ezen a kapcsolaton. Null értékű.
last_read datetime Időbélyeg, amikor utoljára olvasták ezen a kapcsolaton. Null értékű.
last_write datetime Időbélyeg, amikor az utolsó írás történt ezen a kapcsolaton. Null értékű.
net_packet_size int Hálózati csomagméret információ- és adatátvitelre szolgál. Null értékű.
client_net_address Varchar(48) Az ügyfél hajtócíme, amely csatlakozik ehhez a szerverhez. Null értékű.
client_tcp_port int A kliensszámítógép portszáma, amely ehhez a kapcsolathoz kapcsolódik. Null értékű.

Az Azure SQL Database-ben ez az oszlop mindig NULL-t ad vissza.
local_net_address Varchar(48) A szerver IP-címét képviseli, amelyet ez a kapcsolat célzott. Csak a TCP szállító szolgáltatót használó csatlakozásokhoz érhető el. Null értékű.

Az Azure SQL Database-ben ez az oszlop mindig NULL-t ad vissza.
local_tcp_port int A szerver TCP portját képviseli, amelyet ez a kapcsolat célzott, ha TCP transzportot használó kapcsolat lenne. Null értékű.

Az Azure SQL Database-ben ez az oszlop mindig NULL-t ad vissza.
connection_id uniqueidentifier Egyedileg azonosítja az egyes kapcsolatokat. Nem lehet null értékű.
parent_connection_id uniqueidentifier Azonosítja azt a fő kapcsolatot, amit a MARS ülés használ. Null értékű.
most_recent_sql_handle varbinary(64) Az utolsó kérés SQL handle ezen a kapcsolaton. Az most_recent_sql_handle oszlop mindig összhangban van az most_recent_session_id oszloppal. Null értékű.
pdw_node_id int A következővonatkozik: Azure Synapse Analytics, Analytics Platform System (PDW)

Annak a csomópontnak az azonosítója, amelyen ez a disztribúció található.

Permissions

Az SQL Serveren és a felügyelt SQL-példányon VIEW SERVER STATE engedély szükséges.

Az Azure SQL Database Alapszintű, S0 és S1 szolgáltatási célkitűzésein, valamint rugalmas készletekben lévő adatbázisok esetében a kiszolgálói rendszergazdai fiókra, a Microsoft Entra rendszergazdai fiókra vagy a ##MS_ServerStateReader##kiszolgálói szerepkör tagságára van szükség. Az SQL Database szolgáltatás minden más célkitűzéséhez vagy az adatbázis VIEW DATABASE STATE engedélyére, vagy a ##MS_ServerStateReader## kiszolgálói szerepkör tagságára van szükség.

Engedélyek az SQL Server 2022-hez és újabb verziókhoz

A KISZOLGÁLÓ TELJESÍTMÉNYÁLLAPOTÁNAK MEGTEKINTÉSE engedélyre van szükség a kiszolgálón.

Fizikai csatlakozások

Fizikai csatlakozások ábrája sys.dm_exec_connections esetén.

Kapcsolati számosságok

Első elem Második elem Kapcsolat
sys.dm_exec_sessions.session_id sys.dm_exec_connections.session_id Egy-nulla vagy egy-több-
sys.dm_exec_requests.connection_id sys.dm_exec_connections.connection_id Sok-az-egyhez
sys.dm_broker_connections.connection_id sys.dm_exec_connections.connection_id One-to-one

Leggyakrabban minden sorhoz sys.dm_exec_connections van egy egyező sor .sys.dm_exec_sessions Azonban bizonyos esetekben, például rendszerbelső üléseknél vagy Service Broker aktiválási eljárásainál, előfordulhat, hogy egy sor, sys.dm_exec_sessions amely nem egyezik a sorban .sys.dm_exec_connections

Amikor a MARS használatra kerül, több sor is sys.dm_exec_connections lehet egy sorhoz az in-ben sys.dm_exec_sessions, egy sor a szülői kapcsolathoz, és egy sor minden MARS logikai szakaszhoz. Az utóbbi sorokat az net_transport oszlop értéke alapján lehet azonosítani, amelyet Session-re állítunk. Ezeknél a kapcsolatoknál az oszlopban connection_id lévő érték sys.dm_exec_connections megegyezik a folyamatban connection_id lévő MARS kérések sys.dm_exec_requests oszlopában lévő értékkel.

Példák

A következő Transact-SQL lekérdezés információkat gyűjt a lekérdezés saját kapcsolatáról.

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;  

Következő lépések

További információ a kapcsolódó fogalmakról az alábbi cikkekben: