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
Azure SQL Managed Instance
Azure Synapse Analytics
SQL Analytics-Endpunkt in Microsoft Fabric
Warehouse 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.
Hinweis
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 | BESCHREIBUNG |
---|---|---|
session_id | int | Identifiziert die Sitzung, die dieser Verbindung zugeordnet ist. Lässt NULL-Werte zu. |
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. Lässt keine NULL-Werte zu. |
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. Lässt keine NULL-Werte zu. |
protocol_type | nvarchar(40) | Gibt den Protokolltyp der Nutzlast an. Derzeit wird zwischen TDS („TSQL“), „SOAP“ und „Datenbankspiegelung“ unterschieden. Lässt NULL-Werte zu. |
protocol_version | int | Die Version des Datenzugriffsprotokolls, das dieser Verbindung zugeordnet ist. Lässt NULL-Werte zu. |
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. Lässt NULL-Werte zu. |
encrypt_option | nvarchar(40) | Boolescher Wert, der angibt, ob die Verschlüsselung für diese Verbindung aktiviert ist. Lässt keine NULL-Werte zu. 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. Lässt keine NULL-Werte zu. |
node_afinity | smallint | Identifiziert den Speicherknoten, zu dem diese Verbindung eine Affinität besitzt. Lässt keine NULL-Werte zu. |
num_reads | int | Die Anzahl von Bytelesevorgängen, die über diese Verbindung erfolgt sind. Lässt NULL-Werte zu. |
num_writes | int | Die Anzahl von Byteschreibvorgängen, die über diese Verbindung erfolgt sind. Lässt NULL-Werte zu. |
last_read | datetime | Zeitstempel für den letzten Lesevorgang, der über diese Verbindung erfolgt ist. Lässt NULL-Werte zu. |
last_write | datetime | Zeitstempel für den letzten Schreibvorgang, der über diese Verbindung erfolgt ist. Lässt NULL-Werte zu. |
net_packet_size | int | Netzwerkpaketgröße, die für die Informations- und Datenübertragung verwendet wird. Lässt NULL-Werte zu. |
client_net_address | varchar(48) | Hostadresse des Clients, der die Verbindung mit diesem Server herstellt. Lässt NULL-Werte zu. |
client_tcp_port | int | Portnummer auf dem Clientcomputer, die dieser Verbindung zugeordnet ist. Lässt NULL-Werte zu. 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. Lässt NULL-Werte zu. 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. Lässt NULL-Werte zu. In Azure SQL Datenbank gibt diese Spalte immer NULL zurück. |
connection_id | uniqueidentifier | Dient zur eindeutigen Identifizierung jeder Verbindung. Lässt keine NULL-Werte zu. |
parent_connection_id | uniqueidentifier | Identifiziert die primäre Verbindung, die von der MARS-Sitzung verwendet wird. Lässt NULL-Werte zu. |
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. Lässt NULL-Werte zu. |
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. |
Berechtigungen
Für SQL Server und SQL Managed Instance ist die 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##
Serverrolle erforderlich. Für alle anderen SQL-Datenbank-Dienstziele 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
Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.
Physische Joins
Kardinalitäten von Beziehungen
Erstes Element | Zweites Element | Beziehung |
---|---|---|
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 |
n:1 |
sys.dm_broker_connections.connection_id |
sys.dm_exec_connections.connection_id |
1:1 |
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.
Beispiele
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: