You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

无法从远程计算机连接到SQL Server Express的问题排查求助

无法从远程计算机连接到SQL Server Express的问题排查求助

看了你遇到的这个远程连SQL Server Express的问题,我前阵子帮朋友排查过几乎一模一样的情况,给你列几个我当时踩过的坑和实用的排查步骤,你一个个试下:

先把服务器端最容易忽略的配置查一遍

  • SQL Server Browser服务必须开! 因为Express默认是命名实例,需要这个服务来广播实例的位置信息。你去服务器的「服务」列表里找SQL Server Browser,看看是不是处于运行状态,启动类型是不是设为了「自动」。如果没开,手动启动它,再改成自动启动,避免重启后又停了。
  • 再核对TCP/IP的完整配置:你之前改了IPAll的端口,但别忘了在TCP/IP属性的「协议」标签页里,把「已启用」改成「是」!很多人只改了IP地址那页的端口,却漏开了协议本身的启用开关。改完一定要重启SQL Server服务,这个你之前做了,但再确认下没漏。
  • 确认实例实际监听的端口:有时候你设了1433,SQL Server可能没按这个来。你可以在服务器的SQL Server配置管理器里,找到你的MYSERVER\SQLEXPRESS实例,右键「属性」-「服务」,记下进程ID(PID)。然后开命令提示符,运行netstat -ano | findstr "你的PID",看看它实际在监听哪个端口,比如有没有0.0.0.0:1433或者[::]:1433的记录。

网络和连接测试环节

  • 先测端口通不通:在远程电脑上开命令提示符,运行telnet MYSERVER 1433。如果提示「无法打开到主机的连接,端口 1433: 连接失败」,那说明网络层面确实有问题;如果能进去(黑屏就是通了),那就是SQL Server的配置或者权限问题。要是你电脑上没有telnet,先在「Windows功能」里开启Telnet客户端。
  • 换个连接字符串格式试试:如果你已经指定了1433端口,就不用加实例名了,直接用tcp:MYSERVER,1433作为服务器名连接——指定端口后就不需要依赖Browser服务了,能排除Browser的问题。
  • 确认服务器的网络解析正常:在远程电脑上运行ping MYSERVER,看看能不能返回服务器的正确IP地址。如果ping不通,说明DNS解析有问题,那直接用服务器的IP地址来连接,比如tcp:192.168.x.x,1433(把x换成服务器实际的IP)。
  • 换SQL身份验证试试:你一个是Win11 Pro,一个是Home版,Home不能加入域,Windows身份验证可能会有工作组权限的限制。你可以在服务器的SQL Server里建一个SQL身份验证的账号(别用sa,建个普通权限的就行),然后用这个账号远程连接,排除Windows身份验证的坑。

最后几个小细节

  • 你之前关了防火墙,但要确认是不是真的关干净了——包括Windows Defender防火墙的所有网络配置文件(私有、公共),有些杀毒软件自带防火墙,也可以临时关掉试试。
  • 远程的Win11 Home版里,把服务器所在的网络设为「私有网络」,公共网络下很多服务会有限制,虽然你说能访问共享,但还是确认下没毛病。
  • 如果以上都不行,你可以去服务器上看SQL Server的「错误日志」,里面会记录所有连接尝试的细节,说不定能找到更具体的错误原因。

要是你试了哪一步有新的情况,随时补充信息,我再帮你分析!

火山引擎 最新活动