暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

SQL数据库运维 2024-06-19
3870

点击蓝色字关注“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数据库运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论