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

如何通过Serverless Offline连接本地MS-SQL数据库无需发布AWS Lambda测试

本地Serverless Offline连接同机器MS SQL实现方案

1. 配置本地MS SQL网络访问权限

  • 打开SQL Server配置管理器,进入「SQL Server网络配置」→ 你对应的数据库实例的协议选项,右键启用TCP/IP协议
  • 双击TCP/IP打开属性面板,切换到「IP地址」标签,拉到最底部的IPAll区域,设置TCP端口为1433(使用自定义端口的话后续配置同步修改即可)
  • 重启SQL Server实例服务让配置生效
  • 若本地开启了系统防火墙,新增入站规则放行1433端口,允许本地回路请求访问

2. 适配Lambda数据库连接配置

利用serverless-offline默认注入的IS_OFFLINE环境变量自动切换离线/线上连接规则,无需手动修改代码切换环境,参考配置如下:

const sql = require('mssql')
const sqlConfig = {
  user: '你的数据库账号',
  password: '你的数据库密码',
  // 离线环境用本地回环地址,Docker内运行的话用host.docker.internal访问宿主机
  server: process.env.IS_OFFLINE ? (process.env.RUN_IN_DOCKER ? 'host.docker.internal' : '127.0.0.1') : '你本地数据库的公网映射地址',
  port: 1433,
  database: '目标数据库名称',
  options: {
    encrypt: false, // 本地连接无需加密,云端连接公网数据库可按需开启
    trustServerCertificate: true // 跳过本地自签证书校验
  }
}

如果不需要兼容Docker运行场景,直接把server的离线值固定为127.0.0.1即可

3. 本地测试验证

  • 先运行简单脚本验证本地数据库连通性,避免Lambda运行时报错:
// 单独运行该脚本测试连接
sql.connect(sqlConfig).then(() => {
  console.log('本地MS SQL连接正常')
  return sql.close()
}).catch(err => {
  console.error('连接失败', err)
})
  • 确认连接正常后启动Serverless Offline:sls offline start,此时触发本地Lambda端点即可直接调用存储过程写入本地MS SQL,无需发布到AWS云端

常见问题排查

  • 连接拒绝报错:检查SQL Server TCP/IP协议是否启用、端口配置是否正确、实例是否已重启
  • 登录失败报错:确认账号密码正确,且该账号有目标数据库的写入权限、对应存储过程的执行权限
  • 证书相关报错:确认配置中encrypt设为false、trustServerCertificate设为true

内容的提问来源于stack exchange,提问作者wonderful world

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:27:04