找出在SQL Server 2016中运行的数据库的端口

时间:2016-11-15 10:12:09

标签: sql-server windows-10 sql-server-2016

我想知道如何找出SQL Server 2016中本地运行的数据库接受请求的端口。

问题是数据库是由合作伙伴设置的,但端口没有记录。我尝试了默认端口1433,但这不起作用。

我也尝试过使用SQL Server Management Studio,但没找到我要找的东西。

1 个答案:

答案 0 :(得分:1)

您可以使用我一直在使用的此查询:

SELECT DISTINCT local_net_address, local_tcp_port
FROM sys.dm_exec_connections 
WHERE local_net_address IS NOT NULL 

OR      - 如果SQL Server配置了动态端口号

,则执行以下脚本
SELECT local_tcp_port
FROM   sys.dm_exec_connections
WHERE  session_id = @@SPID

OR

-- Execute below script if SQL Server is configured with static port number

DECLARE       @portNo   NVARCHAR(10)

EXEC   xp_instance_regread
  @rootkey    = 'HKEY_LOCAL_MACHINE',
  @key        =
'Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll',
  @value_name = 'TcpPort',
  @value      = @portNo OUTPUT

SELECT [PortNumber] = @portNo

其中至少有一项适合你。