四种方法查询SQL Server正在使用的端口号?

科技   2024-06-19 09:00   河南  

点击蓝色字关注“SQL数据库运维”,回复“SQL”获取2TB学习资源!

SQL Server 的默认端口号是 1433。这意味着,如果没有在连接字符串中指定不同的端口,客户端通常会尝试连接到这个端口来与 SQL Server 实例通信。

如果您需要查看 SQL Server 实例当前正在监听的端口,可以使用以下几种方法:

方法一:使用SQL Server配置管理器

  1. 打开“SQL Server配置管理器”。
  2. 在左侧导航窗格中,展开“SQL Server 网络配置”。
  3. 点击与您想要查询的SQL Server实例对应的项(例如,协议为 SQL Server (实例名))。

  4. 在右侧窗格中,找到“TCP/IP”并右键点击它,选择“属性”。

  5. 切换到“IP地址”选项卡。
  6. 向下滚动到“IPAll”部分,并查看“TCP 端口”字段。这里列出的端口号就是SQL Server实例正在使用的端口号。

方法二:使用T-SQL查询

如果您可以连接到SQL Server实例,您可以运行以下T-SQL查询来检索正在使用的端口号:
sqlEXEC sys.sp_readerrorlog 0, 1, 'Server is listening on';
这个查询会读取SQL Server的错误日志,并搜索包含“Server is listening on”的行,该行通常会显示SQL Server正在监听的端口号。

可以通过查询系统视图 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的端口:
  1. 打开命令提示符(CMD)。
  2. 输入以下命令:
    cmdnetstat -anob | findstr <SQL Server PID>
    其中<SQL Server PID>是SQL Server进程的进程ID。您可以使用任务管理器或SQL Server配置管理器来获取这个ID。
  3. 在输出中,查找本地地址(Local Address)列,该列将显示类似0.0.0.0:1433[::]:1433的内容,其中1433是端口号。
  4. 方法四:使用PowerShell (不常用 了解即可)

您还可以使用PowerShell脚本来查找SQL Server的端口号:
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 Server实例正在使用的端口号。

点击关注“SQL数据库运维”,后台或浏览至公众号文章底部点击“发消息”回复关键字:进群,带你进入高手如云的技术交流群。后台回复关键字:SQL,获取学习资料。


动动小手点击加关注呦☟☟☟

SQL数据库运维
专注于SQL数据库相关领域,Oracle、MySQL、SQL Server、PostgreSQL、大数据,数据分析等相关技术内容的分享,关注回复「SQL」可免费获取海量学习资料,包含文档、视频及部分常用软件安装包和日常小工具等资源。
 最新文章