sys.tcp_endpoints (Transact-SQL)
系统中的每个 TCP 端点都对应一行。由 sys.tcp_endpoints 描述的端点提供了一个对象以授予和撤消连接特权。显示的有关端口和 IP 地址的信息不用于配置协议,并可能与实际的协议配置不匹配。若要查看和配置协议,请使用 SQL Server 配置管理器。
列名 |
数据类型 |
说明 |
---|---|---|
<继承列> |
继承 sys.endpoints 中的列。 |
|
port |
int |
端点正在侦听的端口号。不可为 Null。 对于动态端口,返回 0。 |
is_dynamic_port |
bit |
1 = 动态分配端口号。 不可为 Null。 |
ip_address |
nvarchar(45) |
LISTENER_IP 子句指定的侦听器 IP 地址。可以为 Null。 |
备注
执行以下查询来收集有关端点和连接的信息。没有当前连接或 TCP 连接的端点将显示为 NULL 值。添加 WHERE 子句 WHERE des.session_id = @@SPID 来返回有关当前连接的信息。
SELECT des.login_name, des.host_name, program_name, dec.net_transport, des.login_time,
e.name AS endpoint_name, e.protocol_desc, e.state_desc, e.is_admin_endpoint,
t.port, t.is_dynamic_port, dec.local_net_address, dec.local_tcp_port
FROM sys.endpoints AS e
LEFT JOIN sys.tcp_endpoints AS t
ON e.endpoint_id = t.endpoint_id
LEFT JOIN sys.dm_exec_sessions AS des
ON e.endpoint_id = des.endpoint_id
LEFT JOIN sys.dm_exec_connections AS dec
ON des.session_id = dec.session_id;