sys.dm_exec_connections (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечную точку аналитики SQL Azure Synapse Analytics в хранилище Microsoft Fabric в 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_sessions
sys.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;
Следующие шаги
Дополнительные сведения о связанных понятиях см. в следующих статьях: