Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Относится к:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL analytics endpoint в Microsoft Fabric
Warehouse в Microsoft Fabric
SQL база данных в Microsoft Fabric
Возвращает сведения о подключениях, установленных к этому экземпляру ядра СУБД, и сведения о каждом подключении. Возвращает сведения о подключении сервера для SQL Server и Управляемый экземпляр SQL Azure. Возвращает сведения о подключении для текущей базы данных в База данных SQL Azure. Возвращает сведения о подключении для всех баз данных в одном эластичном пуле для баз данных в эластичных пулах в База данных SQL Azure.
Примечание.
Чтобы вызвать это из выделенного пула SQL в Azure Synapse Analytics или Analytics Platform System (PDW), см . sys.dm_pdw_exec_connections (Transact-SQL). Для бессерверного пула SQL или Microsoft Fabric используется sys.dm_exec_connections.
| Имя столбца | Тип данных | Description |
|---|---|---|
| session_id | int | Идентифицирует сеанс, связанный с данным соединением. Допускает значение NULL. |
| most_recent_session_id | int | Представляет собой идентификатор сеанса самого последнего запроса, связанного с данным соединением. (Соединения SOAP можно повторно использовать другим сеансом.) Допускает значение NULL. |
| connect_time | datetime | Метка времени установления соединения. Не допускает значение NULL. |
| net_transport | nvarchar(40) | При использовании MARS возвращает сеанс для каждого дополнительного соединения, связанного с логическим сеансом MARS. Примечание. Описывает физический транспортный протокол, используемый этим подключением. Не допускает значение NULL. |
| protocol_type | nvarchar(40) | Указывает тип протокола передачи полезных данных. В настоящее время он различает TDS (TSQL), SOAP и "Зеркальное отображение базы данных". Допускает значение NULL. |
| protocol_version | int | Версия протокола доступа к данным, связанного с данным соединением. Допускает значение NULL. |
| endpoint_id | int | Идентификатор, описывающий тип соединения. Это endpoint_id можно использовать для запроса sys.endpoints представления. Допускает значение NULL. |
| encrypt_option | nvarchar(40) | Логическое значение, указывающее, разрешено ли шифрование для данного соединения. Не допускает значение NULL. Для конечных точек зеркального отображения HADR этот столбец всегда возвращает ЗНАЧЕНИЕ FALSE. Используйте динамическое sys.database_mirroring_endpoints административное представление вместо того, чтобы проверить, шифруются ли подключения к конечной точке зеркального отображения HADR. |
| auth_scheme | nvarchar(40) | Указывает схему проверки подлинности SQL Server или Windows, используемую с этим подключением. Не допускает значение NULL. |
| node_affinity | smallint | Идентифицирует узел памяти, которому соответствует данное соединение. Не допускает значение NULL. |
| num_reads | int | Количество операций чтения байтов, произошедших по этому подключению. Допускает значение NULL. |
| num_writes | int | Количество операций записи байтов, произошедших по этому подключению. Допускает значение NULL. |
| last_read | datetime | Метка времени о последнем полученном пакете данных. Допускает значение NULL. |
| last_write | datetime | Метка времени о последнем отправленном пакете данных. Допускает значение NULL. |
| net_packet_size | int | Размер сетевого пакета, используемый для передачи данных. Допускает значение NULL. |
| client_net_address | varchar(48) | Сетевой адрес удаленного клиента. Допускает значение NULL. |
| client_tcp_port | int | Номер порта на клиентском компьютере, который используется при осуществлении соединения. Допускает значение NULL. В База данных SQL Azure этот столбец всегда возвращает значение NULL. |
| local_net_address | varchar(48) | IP-адрес сервера, с которым установлено данное соединение. Доступен только для соединений, которые в качестве транспорта данных используют протокол TCP. Допускает значение NULL. В База данных SQL Azure этот столбец всегда возвращает значение NULL. |
| local_tcp_port | int | TCP-порт сервера, если соединение использует протокол TCP. Допускает значение NULL. В База данных SQL Azure этот столбец всегда возвращает значение NULL. |
| connection_id | uniqueidentifier | Однозначно определяет каждое соединение. Не допускает значение NULL. |
| parent_connection_id | uniqueidentifier | Идентифицирует первичное соединение, используемое в сеансе режима MARS. Допускает значение NULL. |
| most_recent_sql_handle | varbinary(64) | Дескриптор последнего запроса SQL, выполненного с помощью данного соединения. Столбец most_recent_sql_handle всегда синхронизирован с столбцом most_recent_session_id . Допускает значение NULL. |
| pdw_node_id | int |
Область применения: Azure Synapse Analytics, Analytics Platform System (PDW) Идентификатор узла, на который находится данное распределение. |
Разрешения
На SQL Server и управляемом экземпляре SQL необходимо разрешение VIEW SERVER STATE.
Для целей службы База данных SQL Azure Basic, S0 и S1, а также для баз данных в эластичных пулах, учетной записи администратора сервера, учетной записи администратора Microsoft Entra или членства в ##MS_ServerStateReader##роли сервера требуется. Для всех остальных целей обслуживания базы данных SQL требуется разрешение VIEW DATABASE STATE в базе данных или членство в роли сервера ##MS_ServerStateReader##.
Разрешения для SQL Server 2022 и более поздних версий
Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.
Физические соединения
Кратности связей
Чаще всего для каждой строки в sys.dm_exec_connections каждой строке имеется одна соответствующая строка sys.dm_exec_sessions. Однако в некоторых случаях, таких как системные внутренние сеансы или процедуры активации Service Broker , может быть строка без sys.dm_exec_sessionssys.dm_exec_connectionsсоответствующей строки.
При использовании MARS может быть несколько строк sys.dm_exec_connections для строки в sys.dm_exec_sessions, одна строка родительского подключения и одна строка для каждого логического сеанса MARS. Последние строки можно определить по значению в столбце, заданному net_transport для сеанса. Для этих подключений значение в connection_id столбце sys.dm_exec_connections соответствует значению в connection_id столбце sys.dm_exec_requests запросов MARS.
Примеры
Следующий запрос Transact-SQL собирает сведения о собственном подключении запроса.
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;
Следующие шаги
Дополнительные сведения о связанных понятиях см. в следующих статьях: