You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

重装系统后Node.js连接SQL Server 2019实例超时求助

解决Node.js连接SQL Server 2019的ETIMEOUT超时问题

1. 修复连接配置的冲突项

你的配置同时启用了Windows身份验证(trustedConnection: true)和SQL Server身份验证(user/password),这会导致身份验证逻辑冲突,必须二选一:

  • 用Windows身份验证:删除user和password字段,保留trustedConnection: true
const config = {
  server: "DESKTOP-5AHM8D2\\SQLNEW", 
  database: "fyp", 
  options: {
    encrypt: true,
    trustedConnection: true, 
    trustServerCertificate: true
  },
};
  • 用SQL Server身份验证:删除trustedConnection: true,确保Admin是SQL Server中创建的合法登录账号
const config = {
  server: "DESKTOP-5AHM8D2\\SQLNEW", 
  database: "fyp", 
  user: "Admin",
  password: "admin123",
  options: {
    encrypt: true,
    trustServerCertificate: true
  },
};

另外,配置中的host字段属于冗余项,server已包含实例地址,可直接删除。

2. 确认TCP/IP端口配置与监听

  1. 打开SQL Server配置管理器,定位到SQL Server网络配置 > SQLNEW的协议
  2. 右键TCP/IP选择「属性」,切换到「IP地址」标签
  3. 拉至底部IPAll区域,确认TCP端口为1433(默认)或你的自定义端口
  4. 若使用非默认端口,需在连接配置的options中添加port字段:
options: {
  encrypt: true,
  trustServerCertificate: true,
  port: 1433 // 替换为实际端口号
}
  1. 用命令行验证端口监听:
netstat -ano | findstr :1433

能看到对应PID则说明端口正常监听,否则重启SQL Server服务后重试。

3. 检查Windows防火墙拦截

  1. 打开Windows Defender防火墙高级设置,添加入站规则,允许SQL Server端口(默认1433)的TCP连接
  2. 可临时关闭防火墙做测试,若能连接则说明是防火墙拦截了请求

4. 验证实例与账号权限

  1. 用SSMS以相同身份验证方式连接DESKTOP-5AHM8D2\SQLNEW,确认能正常访问fyp数据库
  2. 若用SQL Server身份验证,检查Admin账号是否启用,且拥有fyp数据库的访问权限

内容的提问来源于stack exchange,提问作者Ahmad Imran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 02:50:22