You need to enable JavaScript to run this app. 运行update-database创建数据库时出现SQL Server连接错误该如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

运行update-database创建数据库时出现SQL Server连接错误该如何解决?

SQL Server 错误40(无法打开到SQL Server的连接)额外排查修复步骤

优先修正核心配置问题

你当前使用的连接字符串配置和实际实例名不匹配:实际使用的是.\SQLEXPRESS命名实例,但连接字符串里Server=.指向的是SQL Server默认实例,首先将连接字符串替换为以下内容:

Server=.\SQLEXPRESS; Database=DatabaseName; Integrated Security=True;

注意确认修改的是项目生效的配置文件(如.NET项目的appsettings.Development.json、App.config),避免配置未生效的问题。


其他排查修复步骤

  • 检查SQL Server服务运行状态:按下Win+R输入services.msc打开服务管理器,找到SQL Server (SQLEXPRESS)服务,确认状态为正在运行,未启动则手动右键启动,可将启动类型设为自动避免后续开机后服务未运行。
  • 检查SQL Server网络协议配置:打开SQL Server配置管理器,在SQL Server网络配置下找到SQLEXPRESS的协议,确认Named Pipes和TCP/IP协议均已启用,修改配置后需要重启SQL Server (SQLEXPRESS)服务生效。
  • 验证本地实例可用性:打开SQL Server Management Studio(SSMS),服务器名称输入.\SQLEXPRESS,选择Windows身份验证尝试连接,能正常连通说明实例本身无问题,问题出在项目配置层面;如果连不上再进一步排查实例配置问题。
  • 确认账号权限:当前登录Windows的账号需要有SQL Server的数据库创建权限,可在SSMS连接实例后,进入安全性-登录名,找到对应的Windows账号,右键打开属性页,在服务器角色中勾选dbcreator权限。
  • 校验EF相关配置:执行update-database时确认未指定错误的启动项目,可显式指定项目参数避免读取错误配置,示例命令:
    Update-Database -Project 你的数据层项目名称 -StartupProject 你的启动项目名称
    
    同时检查DbContext配置中是否存在硬编码的连接字符串覆盖了配置文件的设置。
  • 排查本地防火墙拦截:即使是本地实例也可能被防火墙拦截,可临时关闭防火墙测试连接是否恢复,恢复的话将SQL Server的1433端口(或SQLEXPRESS使用的动态端口)加入防火墙入站允许规则。

内容的提问来源于stack exchange,提问作者Md. Joynal Alam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 20:39:01