ASP.NET Core 8.0.1执行update database时无法连接SQL Server(错误40)
解决SQL Server连接错误:(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
以下是针对执行update database命令时触发该错误的排查与解决步骤:
检查SQL Server服务状态
按下Win+R输入services.msc打开服务管理器,找到对应SQL Server实例的服务(默认是SQL Server (MSSQLSERVER),命名实例会显示自定义名称),确认服务处于运行状态,建议将启动类型设置为自动。启用Named Pipes协议
打开SQL Server配置管理器,展开SQL Server网络配置→选中目标实例的协议,确保Named Pipes已启用,修改后重启SQL Server服务使设置生效。允许SQL Server远程连接
打开SQL Server Management Studio连接本地实例,右键实例名称→属性→连接选项卡,勾选允许远程连接到此服务器。修正连接字符串配置
确认代码中的连接字符串参数正确:- 实例名需匹配(默认本地实例可用
localhost、.\SQLEXPRESS或计算机名) - 数据库名称拼写无误
- 认证方式对应(Windows认证用
Trusted_Connection=True,SQL认证需填写正确的User ID和Password)
示例Windows认证的有效连接字符串:
"Server=localhost;Database=YourTargetDb;Trusted_Connection=True;TrustServerCertificate=True;"- 实例名需匹配(默认本地实例可用
补充EF Core依赖包
当前仅安装了基础EF Core包,缺少SQL Server专属的提供程序包,需安装:
包管理器命令:Install-Package Microsoft.EntityFrameworkCore.SqlServer.NET CLI命令:
dotnet add package Microsoft.EntityFrameworkCore.SqlServer排查防火墙干扰
临时关闭Windows防火墙测试连接,若恢复正常,需在防火墙上添加SQL Server端口(默认1433)和Named Pipes的允许规则。
内容的提问来源于stack exchange,提问作者abdalrhman 2002
相关产品推荐
相关产品推荐

