Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy do:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Endpoint analityki SQL w Microsoft Fabric
Magazyn w Microsoft Fabric
Baza danych SQL w Microsoft Fabric
Zwraca informacje o połączeniach nawiązanych do tej instancji silnika bazodanowego oraz szczegóły każdego połączenia. Zwraca informacje o połączeniu serwerowym dla SQL Server i Azure SQL Managed Instance. Zwraca informacje o połączeniu dla bieżącej bazy danych w Azure SQL Database. Zwraca informacje o połączeniach dla wszystkich baz danych w tej samej puli elastycznej dla baz danych w pulach elastycznych w Azure SQL Database.
Uwaga / Notatka
Aby wywołać to z dedykowanej puli SQL w Azure Synapse Analytics lub Analytics Platform System (PDW), zobacz sys.dm_pdw_exec_connections (Transact-SQL). Dla serwerless SQL pool lub Microsoft Fabric użyj sys.dm_exec_connections.
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
| session_id | int | Identyfikuje sesję związaną z tym połączeniem. Jest dopuszczana wartość null. |
| most_recent_session_id | int | Reprezentuje identyfikator sesji dla najnowszego żądania powiązanego z tym połączeniem. (Połączenia SOAP mogą być ponownie użyte przez inną sesję.) Jest unieważnialny. |
| connect_time | datetime | Znacznik czasu nawiązania połączenia. Nie jest nullowalny. |
| net_transport | nvarchar(40) | Gdy używany jest MARS, zwraca Session dla każdego dodatkowego połączenia powiązanego z sesją logiczną MARS. Nuta: Opisuje fizyczny protokół transportowy używany przez to połączenie. Nie jest nullowalny. |
| protocol_type | nvarchar(40) | Określa typ protokołu ładunku. Obecnie rozróżnia TDS ("TSQL"), "SOAP" oraz "mirroring baz danych". Jest dopuszczana wartość null. |
| protocol_version | int | Wersja protokołu dostępu do danych powiązana z tym połączeniem. Jest dopuszczana wartość null. |
| endpoint_id | int | Identyfikator opisujący, jaki to typ połączenia. Można to endpoint_id wykorzystać do zapytania do widoku sys.endpoints . Jest dopuszczana wartość null. |
| encrypt_option | nvarchar(40) | Wartość boole'a opisująca, czy szyfrowanie jest włączone dla tego połączenia. Nie jest nullowalny. Dla punktów końcowych lustrzanego HADR ta kolumna zawsze zwraca FALSE. Zamiast tego użyj DMV, sys.database_mirroring_endpoints aby sprawdzić, czy połączenia z punktem końcowym lustrzanego HADR są szyfrowane. |
| auth_scheme | nvarchar(40) | Określa schemat uwierzytelniania SQL Server/Windows używany w tym połączeniu. Nie jest nullowalny. |
| node_affinity | smallint | Identyfikuje węzeł pamięci, do którego to połączenie ma powinowactwa. Nie jest nullowalny. |
| num_reads | int | Liczba odczytów bajtów, które miały miejsce przez to połączenie. Jest dopuszczana wartość null. |
| num_writes | int | Liczba zapisów bajtów, które miały miejsce przez to połączenie. Jest dopuszczana wartość null. |
| last_read | datetime | Znacznik czasu ostatniego odczytu na tym połączeniu. Jest dopuszczana wartość null. |
| last_write | datetime | Znacznik czasu ostatniego zapisu na tym połączeniu. Jest dopuszczana wartość null. |
| net_packet_size | int | Rozmiar pakietu sieciowego używany do transferu informacji i danych. Jest dopuszczana wartość null. |
| client_net_address | varchar(48) | Adres hosta klienta łączącego się z tym serwerem. Jest dopuszczana wartość null. |
| client_tcp_port | int | Numer portu na komputerze klienckim powiązanym z tym połączeniem. Jest dopuszczana wartość null. W Azure SQL Database ta kolumna zawsze zwraca NULL. |
| local_net_address | varchar(48) | Reprezentuje adres IP na serwerze, do którego to połączenie było celowane. Dostępne tylko dla połączeń korzystających z dostawcy transportu TCP. Jest dopuszczana wartość null. W Azure SQL Database ta kolumna zawsze zwraca NULL. |
| local_tcp_port | int | Reprezentuje port TCP serwera, do którego to połączenie było celowane, jeśli było połączeniem wykorzystującym transport TCP. Jest dopuszczana wartość null. W Azure SQL Database ta kolumna zawsze zwraca NULL. |
| connection_id | uniqueidentifier | Identyfikuje każde połączenie unikatowo. Nie jest nullowalny. |
| parent_connection_id | uniqueidentifier | Identyfikuje główne połączenie, z którego korzysta sesja MARS. Jest dopuszczana wartość null. |
| most_recent_sql_handle | varbinary(64) | Uchwyt SQL ostatniego żądania wykonywanego na tym połączeniu. Kolumna most_recent_sql_handle jest zawsze zsynchronizowana z kolumną most_recent_session_id . Jest dopuszczana wartość null. |
| pdw_node_id | int |
Dotyczy do: Azure Synapse Analytics, Analytics Platform System (PDW) Identyfikator węzła, w ramach którego znajduje się ta dystrybucja. |
Permissions
W programie SQL Server i usłudze SQL Managed Instance wymagane jest VIEW SERVER STATE uprawnienie.
W przypadku celów usługi Azure SQL Database Basic, S0 i S1 oraz baz danych w elastycznych pulach wymagane jest konto administratora serwera , konto administratora firmy Microsoft Entra lub członkostwo w ##MS_ServerStateReader##roli serwera . We wszystkich innych celach usługi SQL Database wymagane VIEW DATABASE STATE jest uprawnienie do bazy danych lub członkostwo w ##MS_ServerStateReader## roli serwera.
Uprawnienia dla programu SQL Server 2022 i nowszych
Wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.
Połączenia fizyczne
Kardynały relacji
| Pierwszy element | Drugi element | Relacja |
|---|---|---|
sys.dm_exec_sessions.session_id |
sys.dm_exec_connections.session_id |
Jeden do zera lub jeden do wielu |
sys.dm_exec_requests.connection_id |
sys.dm_exec_connections.connection_id |
Wiele do jednego |
sys.dm_broker_connections.connection_id |
sys.dm_exec_connections.connection_id |
Jeden do jednego |
Najczęściej dla każdego wiersza w sys.dm_exec_connections istnieje pojedynczy pasujący wiersz w sys.dm_exec_sessions. Jednak w niektórych przypadkach, takich jak sesje wewnętrzne systemu lub procedury aktywacji Service Brokera , może istnieć wiersz w bez sys.dm_exec_sessions dopasowania wiersza w sys.dm_exec_connections.
Gdy używany jest MARS, może być wiele wierszy w sys.dm_exec_connections wierszu w sys.dm_exec_sessions, jeden wiersz dla połączenia nadrzędnego i jeden wiersz dla każdej sesji logycznej MARS. Te ostatnie wiersze można zidentyfikować po wartości w kolumnie net_transport ustawionej na Session. Dla tych połączeń wartość w kolumnie connection_id odpowiada sys.dm_exec_connections wartości w kolumnie connection_id dla sys.dm_exec_requests żądań MARS w trakcie.
Przykłady
Następne Transact-SQL zapytanie zbiera informacje o powiązaniu zapytania.
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;
Dalsze kroki
Dowiedz się więcej o powiązanych pojęciach w następujących artykułach:
- Dynamiczne widoki zarządzania i funkcje związane z wykonywaniem (Transact-SQL)
- sys.dm_exec_sessions (Transact-SQL)
- sys.dm_exec_sql_text (Transact-SQL)
- sys.dm_pdw_exec_connections (Transact-SQL)