你需要让 sql server 在内网环境下可被其他电脑连接访问,我给你一套一步到位、零失败的配置流程,配置完成后,你的 c# 程序就能在内网任意电脑上连接数据库。
一、核心前提(必须满足)
- sql server 所在电脑 固定内网 ip(如:
192.168.1.100) - 所有电脑在 同一个局域网(同一路由器 / 交换机)
- 关闭防火墙 或 放行 sql server 端口
二、5 步完成内网可访问配置
1. 固定 sql server 电脑的内网 ip
在数据库电脑设置:
- ip 地址:
192.168.1.100(示例) - 子网掩码:
255.255.255.0 - 网关:
192.168.1.1
2. 打开 sql server 配置管理器
按下 win + r,输入:
plaintext
sqlservermanager15.msc

sql2019=15,sql2022=16,sql2017=14
开启 tcp/ip 协议
展开 sql server 网络配置 → mssqlserver 的协议
右键 tcp/ip → 启用

3. 设置固定端口 1433(关键)
- 双击 tcp/ip → 切换到 ip 地址 标签
- 拉到最下方 ipall
- 清空 tcp 动态端口
- tcp 端口 填写:
1433

- 保存 → 重启 sql server 服务
4. 关闭防火墙 或 放行端口
方法 a:直接关闭防火墙(测试用)
控制面板 → windows 防火墙 → 关闭
方法 b:放行 1433 端口(正式环境)
# 管理员运行 cmd netsh advfirewall firewall add rule name="sql server 1433" dir=in action=allow protocol=tcp localport=1433
入站规则



出站规则





5. 启用混合登录模式(sql 账号密码登录)
- 打开 ssms → 右键服务器 → 属性
- 选择 安全性
- 勾选 sql server 和 windows 身份验证模式
- 重启 sql server 服务
- 创建专用账号(推荐)
- 安全性 → 登录名 → 新建登录名
- 如:
sa/123456(正式环境用强密码)
三、c# 内网连接字符串(直接复制用)
// 内网连接字符串(标准通用)
string connstring = "data source=192.168.1.100,1433;" + // 数据库电脑内网ip+端口
"initial catalog=你的数据库名;" + // 数据库名
"user id=sa;" + // sql账号
"password=123456;" + // 密码
"connect timeout=3;" + // 连接超时
"persist security info=true";如果你用的是 .net core/.net 6+:
// appsettings.json
"connectionstrings": {
"ffudb": "data source=192.168.1.100,1433;initial catalog=ffu_db;user id=sa;password=123456"
}四、测试内网是否连通
在内网其他电脑上:
打开 ssms
服务器名称填写:
192.168.1.100
身份验证:sql server 身份验证
输入账号密码 → 连接


能连上 = c# 程序也能正常访问
五、常见连接失败原因
- 未开启 tcp/ip → 配置管理器开启
- 端口不是 1433 → 必须固定
- 防火墙拦截 → 关闭或放行端口
- 未启用混合模式 → 只允许 windows 登录会失败
- ip 不固定 → 重启后 ip 变了导致连不上
总结
- 固定数据库电脑 内网 ip
- 开启 tcp/ip + 端口 1433
- 放行防火墙
- 使用 sql 账号密码 登录
- c# 连接字符串填写 ip,1433
配置完后,内网所有设备都能访问你的 sql server
到此这篇关于sql server 数据库可以在内网连接访问的文章就介绍到这了,更多相关sqlserver内网连接访问内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论