原 Windows服务器下报错No buffer space available (maximum connections reached?): connect处理
现象
kettle连接数据库服务器报错:
2024/07/10 10:21:56 - 调用DB存储过程.0 - 通过端口 1433 连接到主机 192.168.11.1 的 TCP/IP 连接失败。错误:“No buffer space available (maximum connections reached?): connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
tomcat连接数据库服务器也报类似的错误:No buffer space available (maximum connections reached?): connect
分析
这个问题不是数据库的问题,是应用服务器本身的问题。
引起该问题的主要原因是本机的端口被占用完了
排查方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | -- Windows下查看当前所有的tcp连接 netstat -ano -- windows下查看所有8080端口的tcp连接 netstat -ano |findstr "8080" -- windows下查看所有的“TIME_WAIT”状态的tcp连接 netstat -ano |findstr "TIME_WAIT" netstat -ano |findstr "ESTABLISHED" -- windows下统计time_wait出现的次数(按行统计) /i 忽略大小写 netstat -ano |find /i /c "TIME_WAIT" netstat -ano |find /i /c "ESTABLISHED" netstat -ano |find /i /c "LISTENING" -- 占用的总端口数 netstat -an | find ":" /c -- 某个进程占用的端口号 netstat -ano|findstr "13076"|find ":" /c |
解决
1、重启服务器、或重启tomcat、重启kettle等