点击蓝色字关注“SQL数据库运维”,回复“SQL”获取2TB学习资源!
如果您需要查看 SQL Server 实例当前正在监听的端口,可以使用以下几种方法:
方法一:使用SQL Server配置管理器
打开“SQL Server配置管理器”。 在左侧导航窗格中,展开“SQL Server 网络配置”。 点击与您想要查询的SQL Server实例对应的项(例如,协议为 SQL Server (实例名))。 在右侧窗格中,找到“TCP/IP”并右键点击它,选择“属性”。 切换到“IP地址”选项卡。 向下滚动到“IPAll”部分,并查看“TCP 端口”字段。这里列出的端口号就是SQL Server实例正在使用的端口号。
方法二:使用T-SQL查询
sqlEXEC sys.sp_readerrorlog 0, 1, 'Server is listening on';
或
可以通过查询系统视图 sys.dm_tcp_listener_states
来找出 SQL Server 正在监听的端口号。
SELECT * FROM sys.dm_tcp_listener_states;
查询结果中的 type_desc 列通常会显示为 TCP,而 state_desc 列通常会显示为 LISTENING,表明 SQL Server 正在该端口上监听。ip_address 列会显示 IP 地址,port列则显示端口号。
请注意,sys.dm_tcp_listener_states 是一个动态管理视图,只有在 SQL Server 实例上具有相应的权限时才能查询它。此外,这个视图仅在 SQL Server 服务运行时才包含信息,如果服务未运行,则查询结果为空。
方法三:使用netstat命令
netstat
命令来查看所有正在监听的端口及其对应的进程。以下是如何使用netstat
来查找SQL Server的端口:打开命令提示符(CMD)。 输入以下命令: cmd
netstat -anob | findstr <SQL Server PID>
其中 <SQL Server PID>
是SQL Server进程的进程ID。您可以使用任务管理器或SQL Server配置管理器来获取这个ID。在输出中,查找本地地址(Local Address)列,该列将显示类似 0.0.0.0:1433
或[::]:1433
的内容,其中1433
是端口号。方法四:使用PowerShell (不常用 了解即可)
powershell# 获取SQL Server服务的名称
$serviceName = "MSSQLSERVER" # 或者您的实例名称
# 获取SQL Server服务的进程ID
$sqlServerPid = (Get-Service -Name $serviceName).ProcessId
# 使用netstat命令查找该进程监听的端口
$ports = netstat -anob | Select-String -Pattern $sqlServerPid
foreach ($port in $ports) {
if ($port -match ":\s*(\d+)\s+LISTENING") {
$portNumber = $matches[1]
Write-Host "SQL Server is listening on port $portNumber"
}
}
.ps1
文件,并在PowerShell中运行它,它将输出SQL Server正在监听的端口号。请确保您有足够的权限来运行这个脚本,并且PowerShell的执行策略允许运行脚本。点击关注“SQL数据库运维”,后台或浏览至公众号文章底部点击“发消息”回复关键字:进群,带你进入高手如云的技术交流群。后台回复关键字:SQL,获取学习资料。
动动小手点击加关注呦☟☟☟