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

Contoso University项目中context.Database.EnsureCreated()遇SQL Server连接错误求助

解决Razor Pages Contoso University项目数据库连接失败问题

错误信息翻译

Microsoft.Data.SqlClient.SqlException: '建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。请验证实例名称是否正确,并且SQL Server配置为允许远程连接。(提供程序: SNI_PN11, 错误: 50 - 本地...)

排查与解决步骤

  • 检查连接字符串配置
    打开appsettings.json,确认SchoolContext的连接字符串格式正确:

    • 本地DB实例:"Server=(localdb)\\mssqllocaldb;Database=ContosoUniversity;Trusted_Connection=True;MultipleActiveResultSets=true"
    • SQL Server Express实例:"Server=.\SQLEXPRESS;Database=ContosoUniversity;Trusted_Connection=True;MultipleActiveResultSets=true"
      要和你本地安装的SQL Server实例名称完全匹配,自定义实例名需替换成对应值。
  • 确认SQL Server服务运行状态
    按Win+R输入services.msc打开服务列表,找到对应SQL Server实例(比如SQL Server (MSSQLLOCALDB)或SQL Server (SQLEXPRESS)),确保服务处于正在运行状态,未运行则右键启动。

  • 检查SQL Server连接配置
    打开SQL Server配置管理器,依次进入SQL Server网络配置 -> 目标实例的协议,确保TCP/IP和命名管道已启用,修改后重启SQL Server服务生效。如果SSMS都连不上本地实例,优先排查这一步。

  • 修正数据库初始化逻辑
    代码里的context.Database.EnsureCreated()只会直接创建数据库,不会应用EF迁移。如果要用迁移初始化,替换成:

    context.Database.Migrate();
    

    前提是你已经通过Add-Migration InitialCreate命令生成了迁移文件。

  • 验证用户权限
    本地开发用Windows身份验证(Trusted_Connection=True)时,确保当前运行项目的用户拥有创建SQL Server数据库的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:50:26