Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Gibt detaillierte Informationen zu den Verbindungen zurück, die mit dieser Instanz der Datenbank-Engine hergestellt wurden. Gibt serverweite Verbindungsinformationen für SQL Server und Azure SQL Managed Instance zurück. Gibt Verbindungsinformationen für die aktuelle Datenbank in Azure SQL-Datenbank zurück. Gibt Verbindungsinformationen für alle Datenbanken im selben Pool für elastische Datenbanken in Azure SQL-Datenbank zurück.
Note
Informationen zum Aufrufen aus dem dedizierten SQL-Pool in Azure Synapse Analytics oder Analytics Platform System (PDW) finden Sie unter sys.dm_pdw_exec_connections (Transact-SQL). Verwenden Sie sys.dm_exec_connections für serverlose SQL-Pools oder Microsoft Fabric.
| Spaltenname | Datentyp | Description |
|---|---|---|
| Sitzungs-ID | int | Identifiziert die Sitzung, die dieser Verbindung zugeordnet ist. Nullwerte zulassend. |
| most_recent_session_id | int | Stellt die Sitzungs-ID für die letzte Anforderung dar, die dieser Verbindung zugeordnet ist. (SOAP-Verbindungen können von einer anderen Sitzung wiederverwendet werden.) Lässt Nullwerte zu. |
| connect_time | datetime | Zeitstempel, der angibt, wann die Verbindung eingerichtet wurde. Nicht nullbar. |
| net_transport | nvarchar(40) | Gibt bei Verwendung von MARS die Sitzung für jede zusätzliche Verbindung zurück, die einer logischen MARS-Sitzung zugeordnet ist. Hinweis: Beschreibt das physische Transportprotokoll, das von dieser Verbindung verwendet wird. Nicht nullbar. |
| protocol_type | nvarchar(40) | Gibt den Protokolltyp der Nutzlast an. Derzeit wird zwischen TDS („TSQL“), „SOAP“ und „Datenbankspiegelung“ unterschieden. Nullwerte zulassend. |
| protocol_version | int | Die Version des Datenzugriffsprotokolls, das dieser Verbindung zugeordnet ist. Nullwerte zulassend. |
| endpoint_id | int | Ein Bezeichner, der beschreibt, um welchen Verbindungstyp es sich handelt. Mit dieser endpoint_id lässt sich die Sicht sys.endpoints abfragen. Nullwerte zulassend. |
| encrypt_option | nvarchar(40) | Boolescher Wert, der angibt, ob die Verschlüsselung für diese Verbindung aktiviert ist. Nicht nullbar. Bei HADR-Spiegelungsendpunkten gibt diese Spalte immer FALSE zurück. Verwenden Sie stattdessen DMV sys.database_mirroring_endpoints , um zu überprüfen, ob Verbindungen mit einem HADR-Spiegelungsendpunkt verschlüsselt sind. |
| auth_scheme | nvarchar(40) | Gibt das SQL Server-/Windows-Authentifizierungsschema an, das mit dieser Verbindung verwendet wird. Nicht nullbar. |
| node_afinity | smallint | Identifiziert den Speicherknoten, zu dem diese Verbindung eine Affinität besitzt. Nicht nullbar. |
| num_reads | int | Die Anzahl von Bytelesevorgängen, die über diese Verbindung erfolgt sind. Nullwerte zulassend. |
| num_writes | int | Die Anzahl von Byteschreibvorgängen, die über diese Verbindung erfolgt sind. Nullwerte zulassend. |
| last_read | datetime | Zeitstempel für den letzten Lesevorgang, der über diese Verbindung erfolgt ist. Nullwerte zulassend. |
| last_write | datetime | Zeitstempel für den letzten Schreibvorgang, der über diese Verbindung erfolgt ist. Nullwerte zulassend. |
| net_packet_size | int | Netzwerkpaketgröße, die für die Informations- und Datenübertragung verwendet wird. Nullwerte zulassend. |
| client_net_address | varchar(48) | Hostadresse des Clients, der die Verbindung mit diesem Server herstellt. Nullwerte zulassend. |
| client_tcp_port | int | Portnummer auf dem Clientcomputer, die dieser Verbindung zugeordnet ist. Nullwerte zulassend. In Azure SQL Datenbank gibt diese Spalte immer NULL zurück. |
| local_net_address | varchar(48) | Stellt die IP-Adresse auf dem Server dar, die die Zieladresse dieser Verbindung ist. Ist nur für Verbindungen verfügbar, die den TCP-Transportanbieter verwenden. Nullwerte zulassend. In Azure SQL Datenbank gibt diese Spalte immer NULL zurück. |
| local_tcp_port | int | Stellt den Server-TCP-Port dar, der der Zielport dieser Verbindung ist, falls die Verbindung den TCP-Transport verwendet. Nullwerte zulassend. In Azure SQL Datenbank gibt diese Spalte immer NULL zurück. |
| connection_id | uniqueidentifier | Dient zur eindeutigen Identifizierung jeder Verbindung. Nicht nullbar. |
| parent_connection_id | uniqueidentifier | Identifiziert die primäre Verbindung, die von der MARS-Sitzung verwendet wird. Nullwerte zulassend. |
| most_recent_sql_handle | varbinary(64) | Das SQL-Handle der letzten Anforderung, die über diese Verbindung ausgeführt wurde. Die most_recent_sql_handle-Spalte wird immer mit der most_recent_session_id-Spalte synchronisiert. Nullwerte zulassend. |
| pdw_node_id | int |
gilt für: Azure Synapse Analytics, Analytics Platform System (PDW) Der Bezeichner für den Knoten, auf dem sich diese Verteilung befindet. |
Erlaubnisse
Für SQL Server und SQL Managed Instance ist VIEW SERVER STATE Berechtigung erforderlich.
Für Azure SQL-Datenbank Standard-, S0- und S1-Dienstziele sowie für Datenbanken in elastischen Pools ist das Serveradministratorkonto, das Microsoft Entra-Administratorkonto oder die Mitgliedschaft in der ##MS_ServerStateReader## erforderlich. Für alle anderen SQL-Datenbankdienstziele ist entweder die VIEW DATABASE STATE Berechtigung für die Datenbank oder die Mitgliedschaft in der ##MS_ServerStateReader## Serverrolle erforderlich.
Berechtigungen für SQL Server 2022 und höher
Benötigt VIEW die Berechtigung SERVER PERFORMANCE STATE auf dem Server.
Physische Joins
Kardinalitäten von Beziehungen
| Erstes Element | Zweites Element | Relationship |
|---|---|---|
sys.dm_exec_sessions.session_id |
sys.dm_exec_connections.session_id |
1:0 oder 1:viele |
sys.dm_exec_requests.connection_id |
sys.dm_exec_connections.connection_id |
Viele-zu-eins |
sys.dm_broker_connections.connection_id |
sys.dm_exec_connections.connection_id |
1:1-Beziehung |
Meist gibt es für jede Zeile in sys.dm_exec_connections eine einzige entsprechende Zeile in sys.dm_exec_sessions. In einigen Fällen wie beispielsweise bei internen Systemsitzungen oder Service Broker-Aktivierungsprozeduren kann eine Zeile in sys.dm_exec_sessions ohne entsprechende Zeile in sys.dm_exec_connections vorhanden sein.
Bei Verwendung von MARS können mehrere Zeilen in sys.dm_exec_connections für eine Zeile in sys.dm_exec_sessions, eine Zeile für die übergeordnete Verbindung und eine Zeile für jede logische MARS-Sitzung vorhanden sein. Die letztgenannten Zeilen lassen sich daran erkennen, dass der Wert in der Spalte net_transport auf Session festgelegt ist. Bei diesen Verbindungen entspricht der Wert in der Spalte connection_id von sys.dm_exec_connections dem Wert in der Spalte connection_id von sys.dm_exec_requests für in Verarbeitung befindliche MARS-Anforderungen.
Examples
Die folgende Transact-SQL-Abfrage sammelt Informationen zur Verbindung einer Abfrage.
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ächste Schritte
Weitere Informationen zu verwandten Konzepten finden Sie in den folgenden Artikeln: