游客发表

局域网访问sql数据库

发帖时间:2026-10-17 05:09:52

局域网里跑SQL Server,局域最坑的网访问从来不是SQL语句写错,而是数据客户端连不上服务器。昨天隔壁工位的局域老张折腾了一下午,最后发现是网访问Windows防火墙把1433端口给堵了——这种破事几乎每周都在公司上演。

先说最基础的数据配置。装好SQL Server后,局域你得去SQL Server配置管理器里把TCP/IP协议启用。网访问默认情况下这东西是数据关着的,鬼知道微软为什么这么设计。局域启用后别急着关窗口,网访问右键TCP/IP选属性,数据翻到IP地址选项卡,局域往下拉到底部,网访问把IPAll的数据TCP端口改成1433。很多人改完就完事了,结果客户端连不上——因为你还得重启SQL Server服务,在服务管理器里右键重启,别偷懒。

然后是防火墙。Windows防火墙默认会拦截所有入站连接,除非你明确放行。在控制面板里找到Windows Defender防火墙,左侧选“高级设置”,入站规则里新建规则,选端口,TCP,特定本地端口填1433。作用域那步别选“任何IP地址”,除非你的局域网毫无安全可言。我一般只允许本地子网访问,也就是192.168.x.0/24这种段。规则命名成“SQL Server TCP”,别起什么“测试”“临时”这种名字,三个月后你自己都忘了这是干嘛的。

服务器端搞定后,客户端连接时最常踩的坑是服务器名称写错。别想着用机器名连,除非你搞定了NetBIOS和DNS解析——在纯IP环境下,直接写IP地址最省心。格式是“192.168.1.100,1433”,注意是英文逗号,不是冒号。很多人在这里用冒号,那是MySQL的习惯,SQL Server不吃这套。如果你没改默认实例,直接写IP就行;如果装了命名实例,得写成“IP\实例名”,比如“192.168.1.100\SQLEXPRESS”。

还有一个隐蔽问题:SQL Server的认证模式。默认装完是Windows认证,局域网里其他电脑用SQL账号登录会被拒。你得在服务器上用Windows管理员身份打开SSMS,右键服务器选属性,安全性里改成“SQL Server和Windows认证模式”。改完还要在安全性→登录名里,右键sa账号设置密码,并且把sa的状态改成启用。这一步不做,你写再多连接字符串都是白搭。

最后说个真实案例。上周帮市场部配了一台报表服务器,SQL Server装在Windows Server 2019上,客户端是Win11笔记本。所有配置都检查过了,防火墙也放行了,但客户端就是报“远程主机强迫关闭了一个现有的连接”。后来抓包发现,问题出在SQL Server的加密设置上。服务器端强制了SSL加密,而客户端用的老驱动不支持。解决方法是把服务器端加密改成“可选”,或者给客户端装最新的ODBC Driver 18。别迷信默认配置,生产环境里各种奇葩组合都有。

局域网访问SQL数据库,本质就是端口通、认证对、驱动匹配这三件事。多数问题都出在细节上——端口没启用、防火墙漏了、认证模式没改、驱动太旧。下次连不上时,按这个顺序排查:先telnet IP 1433看端口通不通,通的话再用SSMS本地连一次确认服务正常,最后才去怀疑连接字符串写错了。顺序反了,你会浪费大量时间在无关紧要的地方。

    热门排行

    友情链接