一个php 连sqlserver 目标计算机积极拒绝,无法连接问题的解决

复制代码
一个接口查询数据耗时15秒,还没数据,经查报错日志:

SQLSTATE[08001]: [Microsoft][ODBC Driver 17 for SQL Server]TCP 提供程序: 由于目标计算机积极拒绝,无法连接。  

命令行执行:

复制代码
netstat -ano  | findstr :1433

发现结果为空,表示sqlserver没有监听1433端口,处理方式

  1. ​启用 TCP/IP 协议​

    • 打开 ​​SQL Server 配置管理器​ ​ → 展开 ​​SQL Server 网络配置​ ​ → 选择实例 → 右键 ​​TCP/IP​ ​ → ​​启用​

    • ​重启 SQL Server 服务​​ 使配置生效。

  2. ​设置静态端口 1433​

    • 双击 ​​TCP/IP​ ​ → ​​IP 地址​ ​ 选项卡 → 滚动到 ​​IPAll​ ​ 部分 → 删除 ​​TCP 动态端口​ ​ 的值 → ​​TCP 端口​ ​ 填写 1433→ 保存

然后在服务列表里找到SQL Server 重启,这时报错了:

错误代码 ​1061​(服务无法在此时接受控制信息)

进入任务管理器,找到sqlserver,杀掉,重启服务,

再 执行,有了:

复制代码
C:\Users\Administrator>netstat -ano  | findstr :1433
  TCP    0.0.0.0:1433           0.0.0.0:0              LISTENING       19464
  TCP    192.168.124.99:62416   192.168.124.99:1433    TIME_WAIT       0
  TCP    [::]:1433              [::]:0                 LISTENING       19464
  TCP    [fe80::cc7d:49ac:6cad:43c9%8]:62415  [fe80::cc7d:49ac:6cad:43c9%8]:1433  TIME_WAIT       0