You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10+VS2017连接SQL Server2014时遇Error26故障求助

解决SQL Server Error26的排查步骤(针对你的Windows10+VS2017+SQL2014环境)

Hey,我之前也踩过Error26的坑,这个错误本质是客户端无法定位到指定的SQL Server实例——虽然VS能识别数据库,但浏览器运行时的上下文和VS完全不一样,给你几个针对性的排查点:

  • 先验证实例连接的基础可用性
    你代码里的连接字符串const string connString = "Data Source=CLEAVEN\\SQLEXPRESS;Initial Catalog=EduAssistR;Integrated Security=True";语法是对的,但可以先替换数据源为localhost\\SQLEXPRESS或者127.0.0.1\\SQLEXPRESS试试,排除机器名解析的问题。另外,打开SQL Server Management Studio,用同样的CLEAVEN\SQLEXPRESS+Windows身份验证连接,如果连不上,那问题出在SQL Server的基础配置,不是代码的问题。

  • 确认SQL Server实例本身在运行
    别只盯着SQL Server Browser服务,打开services.msc(按Win+R输入这个命令),找到**SQL Server (SQLEXPRESS)**服务,确保它的状态是「正在运行」。有时候Browser服务开了,但实例本身没启动,照样会报Error26。

  • 防火墙与端口配置排查
    默认SQLEXPRESS用的是动态端口,防火墙很可能拦截了这个端口:

    1. 打开SQL Server配置管理器,找到「SQL Server网络配置」→「SQLEXPRESS的协议」→「TCP/IP」,右键启用它;
    2. 双击TCP/IP,切换到「IP地址」标签,拉到最下面的「IPAll」,把「TCP端口」设为固定值比如1433,然后重启SQL Server (SQLEXPRESS)服务;
    3. 打开Windows Defender防火墙,添加入站规则,允许TCP端口1433的连接。
  • 应用运行上下文的权限问题
    如果你的项目是用IIS Express运行,默认用的是你的本地用户账户;如果是部署到本地IIS,应用程序池的身份可能没有访问SQL Server的权限:

    • 对于IIS Express:可以右键项目→属性→Web,确认服务器是IIS Express,且「使用IIS Express的SSL」如果开启的话,也要确保SSL配置没问题;
    • 对于本地IIS:找到对应的应用程序池,把身份改成「Network Service」或者你的本地账户,然后在SQL Server里给这个账户添加EduAssistR数据库的访问权限(在SSMS里,数据库→安全性→用户→新建用户,映射对应的登录名)。
  • 再次验证Integrated Security的作用
    你的连接字符串用了Integrated Security=True,这意味着应用会用当前运行的账户去连接SQL Server。如果是IIS运行的话,这个账户不是你的本地用户,而是应用程序池的账户,所以必须确保这个账户能被SQL Server识别并授予数据库权限。

内容的提问来源于stack exchange,提问作者Cleaven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:39:52