Node.js桌面应用部署:跨设备连接MSSQL配置问询
跨设备连接MSSQL的配置方案
一、SQL Server端必须调整的配置
1. 启用TCP/IP协议
- 打开「SQL Server配置管理器」,展开「SQL Server网络配置」→ 选中你的SQL Server实例对应的「协议」(比如SQLEXPRESS)
- 在右侧列表找到「TCP/IP」,右键选择「启用」
- 双击「TCP/IP」进入属性,切换到「IP地址」标签,拉到最底部的「IPAll」部分,设置「TCP端口」为
1433(默认端口,若修改需记好) - 重启SQL Server服务:在「SQL Server服务」里找到对应实例,右键「重启」
2. 允许远程连接
- 打开SQL Server Management Studio(SSMS),右键连接的服务器 → 选择「属性」
- 切换到「连接」标签,勾选「允许远程连接到此服务器」,点击确定
3. 配置Windows防火墙
- 打开「Windows Defender防火墙」→ 「高级设置」→ 「入站规则」→ 「新建规则」
- 规则类型选「端口」,下一步,选择「TCP」,指定本地端口为
1433(和之前设置的一致) - 允许连接,下一步,勾选所有适用的网络类型(按需选择),命名规则后完成
4. 确认身份验证与账号权限
- 右键服务器 → 「属性」→ 「安全性」,选择「SQL Server和Windows身份验证模式」,确定后重启服务
- 展开「安全性」→ 「登录名」→ 找到「sa」,右键「属性」
- 切换到「状态」标签,确保「登录」设置为「启用」;切换到「服务器角色」,确认勾选了「sysadmin」(按需调整权限)
二、Node.js代码的修改
将原配置中的server: 'localhost'替换为SQL Server所在机器的局域网IP地址或者机器名称:
var Connection = require('tedious').Connection; var Request = require('tedious').Request; var config = { server: '192.168.1.100', // 替换为你的SQL Server机器IP或机器名 authentication: { type: 'default', options: { userName: 'sa', password: '123456789', // 注意:部署时不要硬编码密码,建议用环境变量或配置文件 }, }, options: { encrypt: false, // 局域网环境可保持false,公网连接建议开启并配置证书 database: 'mydb', port: 1433 // 如果修改了默认端口,需添加此项 }, }; const connection = new Connection(config);
注意事项
- 确保客户端设备和SQL Server机器在同一局域网(或通过公网路由映射,公网场景需额外配置端口转发等)
- 硬编码SA密码存在安全风险,部署时建议改用环境变量加载,比如
process.env.DB_PASSWORD - 如果连接失败,可先尝试用
ping命令测试客户端到SQL Server机器的网络连通性,再用telnet测试1433端口是否开放
内容的提问来源于stack exchange,提问作者MrB
相关产品推荐
相关产品推荐

