使用NestJS+TypeORM连接本地SQL Server失败:无法连接localhost:1433
解决NestJS + TypeORM连接本地SQL Server失败的问题
一、开启SQL Server TCP/IP协议(核心步骤)
- 打开Windows搜索栏,直接搜索「SQL Server配置管理器」并启动
- 展开左侧菜单的「SQL Server网络配置」,点击对应实例的协议(Express版本一般是「SQLEXPRESS的协议」)
- 在右侧面板找到「TCP/IP」,右键选择「启用」
- 双击「TCP/IP」打开属性窗口,切换到「IP地址」标签:
- 拉到最底部的「IPAll」区域,将「TCP端口」设置为1433
- 确保所有IP地址项的「已启用」都设为「是」
- 回到配置管理器的「SQL Server服务」,找到你的SQL Server实例(比如「SQL Server (SQLEXPRESS)」),右键选择「重启」
二、验证连接基础信息
- 检查端口监听:打开命令提示符,执行
netstat -ano | findstr :1433,如果能看到标注LISTENING的条目,说明端口正常工作 - 测试账号有效性:打开SSMS,选择「SQL Server身份验证」,输入
timetracker_user和密码ihaveagun,服务器名称填localhost或者localhost\SQLEXPRESS(Express默认实例),确认能登录并访问timetracker数据库 - 调整TypeORM配置:如果是Express默认实例,需要在配置中添加实例名参数,修改后的配置如下:
TypeOrmModule.forRoot({ type: 'mssql', host: 'localhost', port: 1433, username: 'timetracker_user', password: 'ihaveagun', database: 'timetracker', autoLoadEntities: true, synchronize: true, options: { instanceName: 'SQLEXPRESS' } }),
三、额外排查点
- 临时关闭Windows防火墙测试,确认是否是防火墙拦截了1433端口
- 检查SQL Server服务状态:在Windows「服务」中找到对应实例,确保状态为「正在运行」
内容的提问来源于stack exchange,提问作者Lucas Dobson
相关产品推荐
相关产品推荐

