Win11环境下远程连接SQL Server Express失败的配置排查求助
问题解答
问题1:该配置是否可行?
完全可行。Win11 Home系统下部署SQL Server Express 2022,通过另一台Win11 Home的SSMS远程连接,再用MS Access作为客户端访问的方案没有技术禁止限制,非域环境下通过正确配置Windows认证或SQL Server认证均可实现。
问题2:操作疏漏及错误分析
结合你遇到的三类错误,逐一排查问题:
针对SSPI上下文错误(Error: 0)
这个错误是Windows跨机认证失败导致的:
- Win11 Home不在域环境中,两台电脑的本地用户账户相互独立,默认无法通过Windows认证跨机访问SQL Server。
- 解决方式:要么在PC1和PC2上创建完全相同用户名和密码的本地管理员账户,并用该账户登录两台电脑后尝试连接;要么直接切换为SQL Server认证模式。
针对TCP连接错误(Error: -1 及 Error:26)
虽然端口测试通,但仍有几个关键配置疏漏:
- TCP/IP端口配置不全
你仅设置了IPAll的端口,但需要检查SQL Server Configuration Manager中TCP/IP属性里的具体IPv4地址条目(比如对应PC1的192.x.x.x的IP):- 确保该IP的“已启用”设为“是”
- 将该IP的“TCP端口”也设为49172,和IPAll保持一致,然后重启SQL Server服务。
- 连接字符串格式错误
- 当直接指定端口时,无需带实例名,正确格式应为
tcp:192.x.x.x,49172,而不是tcp:ABRL08\SQLEXPRESS,49172 - 如果想用实例名连接,需确保SQL Server Browser服务正常运行,且PC2能通过UDP 1434端口访问PC1(可在PC2用
Test-NetConnection 192.x.x.x -port 1434 -Protocol UDP测试)。
- 当直接指定端口时,无需带实例名,正确格式应为
- SQL Server认证模式未启用
你当前仅开启了Windows认证,非域环境下建议启用混合认证模式:- 在PC1的SSMS中右键服务器 → 属性 → 安全性 → 选择“SQL Server和Windows身份验证模式” → 确定后重启SQL Server服务。
- 创建一个SQL登录账户(比如启用sa账户并设置强密码),在PC2的SSMS中用该账户选择“SQL Server身份验证”进行连接。
- 端口监听验证
在PC1的PowerShell中执行netstat -ano | findstr :49172,确认有sqlservr.exe的进程在监听49172端口,避免配置未实际生效。 - 主机名解析问题
在PC2的CMD中执行ping ABRL08,看是否返回正确的192.x.x.x IP。如果解析失败,可在PC2的C:\Windows\System32\drivers\etc\hosts文件中添加一行192.x.x.x ABRL08,保存后再尝试用主机名连接。
内容的提问来源于stack exchange,提问作者Dave by 2
相关产品推荐
相关产品推荐

