SQL Server连接故障求助:SSMS与tedious包均无法连接数据库
SQL Server连接故障排查(SSMS与Tedious均无法连接)
我已耗时数小时排查问题,但SQL Server Management Studio 20与使用npm tedious包编写的代码均无法连接到SQL Server数据库。我已完成SQL配置并启用TCP/IP,问题仍未解决。以下是我的连接代码、错误堆栈信息及SSMS配置截图:
连接代码
const { Connection, Request } = require("tedious"); // 数据库连接配置 const config = { authentication: { options: { userName: "server", password: "12345678", }, type: "default", }, server: "WIN-BOEG8IKMEF7", options: { instanceName: "SQLEXPRESS", database: "Zaivki", rowCollectionOnRequestCompletion: true, }, }; // 创建连接 const connection = new Connection(config); // 处理连接事件 connection.on("connect", (err) => { if (err) { console.error("连接错误: ", err); } else { console.log("连接成功!"); executeSQL(); } });
错误堆栈信息
连接错误: ConnectionError: Failed to connect to WIN-BOEG8IKMEF7\SQLEXPRESS in 15000ms at Connection.connectTimeout (F:\zaivka\node_modules\tedious\lib\connection.js:1222:26) at Timeout._onTimeout (F:\zaivka\node_modules\tedious\lib\connection.js:1167:12) at listOnTimeout (node:internal/timers:581:17) at process.processTimers (node:internal/timers:519:7) { code: 'ETIMEOUT' }
SSMS配置截图


排查建议
- 检查SQL Server服务状态:确保SQL Server (SQLEXPRESS)服务正在运行,可通过Windows服务管理器查看
- 验证TCP/IP配置细节:
- 再次确认SQL Server配置管理器中,SQLEXPRESS实例的TCP/IP已启用
- 查看TCP/IP属性的「IP地址」选项卡,确认当前使用的端口(动态端口需记录实际端口,固定端口需确保端口未被占用)
- 调整连接配置:
- 尝试用服务器IP地址替代计算机名
WIN-BOEG8IKMEF7,避免DNS解析问题 - 若使用固定端口,需在config的options中添加
port: 端口号参数
- 尝试用服务器IP地址替代计算机名
- 检查防火墙规则:确认Windows防火墙允许SQL Server端口的入站连接,可临时关闭防火墙测试是否能连接
- 验证身份信息:确认用户名
server是有效的SQL Server登录账号,且拥有访问Zaivki数据库的权限,密码输入正确 - SSMS连接测试:在SSMS中尝试用
IP地址,端口号的方式连接,排查是否是计算机名或实例名识别问题
内容的提问来源于stack exchange,提问作者ftyyty tytytyt
相关产品推荐
相关产品推荐

