Visual Studio连接SQL Server遇Error 26:无法定位服务器实例求助
解决SQL Error 26:无法定位指定服务器/实例的问题
首先修复连接字符串的核心问题
你的appsettings.json中连接字符串的服务器名称使用了单个反斜杠\,在JSON语法里,单个反斜杠是转义字符,会导致解析时丢失这个符号,最终服务器名称变成DESKTOP-DHUNQCJSQLEXPRESS,自然无法找到实例。必须改成双反斜杠:
{ "Logging": { "LogLevel": { "Default": "Warning" } }, "AllowedHosts": "*", "ConnectionString": { "ImprovedWorkCenterDBConnection": "Server=DESKTOP-DHUNQCJ\\SQLEXPRESS;Database=ImprovedWorkCenterDB;Trusted_Connection=True;" } }
后续排查步骤(如果改完连接字符串仍报错)
- 检查SQL Server服务状态:按下
Win+R输入services.msc,找到SQL Server (SQLEXPRESS),确认服务处于“正在运行”状态,未运行则右键启动。 - 启用TCP/IP协议:打开SQL Server配置管理器,依次展开
SQL Server网络配置→SQLEXPRESS的协议,右键TCP/IP选择启用;双击TCP/IP进入属性,切换到IP地址标签,找到IPAll组,确保TCP端口为1433(默认端口),然后重启SQL Server服务。 - 简化服务器名称测试:暂时用
localhost\SQLEXPRESS或.\SQLEXPRESS代替具体机器名,避免机器名解析故障,连接字符串改为:Server=.\SQLEXPRESS;Database=ImprovedWorkCenterDB;Trusted_Connection=True; - 验证Windows身份权限:打开SQL Server Management Studio,用Windows身份验证连接实例,检查当前登录账号是否拥有
ImprovedWorkCenterDB数据库的访问权限,必要时给账号添加db_owner角色。 - 直接测试连接:写一段极简代码验证连接是否有效,排除EF框架的干扰:
using Microsoft.Data.SqlClient; var connString = "Server=DESKTOP-DHUNQCJ\\SQLEXPRESS;Database=ImprovedWorkCenterDB;Trusted_Connection=True;"; using (var conn = new SqlConnection(connString)) { try { conn.Open(); Console.WriteLine("数据库连接成功"); } catch (Exception ex) { Console.WriteLine($"连接失败:{ex.Message}"); } }
错误日志关键信息分析
你遇到的SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified,核心原因就是客户端无法找到指定的SQL Server实例,绝大多数情况都是连接字符串格式错误、服务未启动或协议未启用导致的,按照上面的步骤逐一排查即可。
内容的提问来源于stack exchange,提问作者lgz
相关产品推荐
相关产品推荐

