Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Относится к:SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
Azure Synapse Analytics
SQL аналитическая конечная точка в Microsoft Fabric
Хранилище в Microsoft Fabric
SQL база данных в Microsoft Fabric
Возвращает сведения о подключениях, установленных к этому экземпляру ядра СУБД, и сведения о каждом подключении. Возвращает сведения о подключении сервера для SQL Server и Управляемый экземпляр SQL Azure. Возвращает сведения о подключении для текущей базы данных в База данных SQL Azure. Возвращает сведения о подключении для всех баз данных в одном эластичном пуле для баз данных в эластичных пулах в База данных SQL Azure.
Note
Чтобы вызвать это из выделенного пула SQL в Azure Synapse Analytics или Analytics Platform System (PDW), см . sys.dm_pdw_exec_connections (Transact-SQL). Для бессерверного пула SQL или Microsoft Fabric используется sys.dm_exec_connections.
| Название столбца | Тип данных | Описание |
|---|---|---|
| идентификатор сессии | 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, система платформы аналитики (PDW) Идентификатор узла, на который находится это распределение. |
Permissions
Для 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 разрешение на состояние производительности сервера на сервере.
Физические соединения
Кратности связей
Чаще всего для каждой строки в 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.
Examples
Следующий запрос 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;