【问题标题】:Update-Database - Error with (localdb)\MSSQLLocalDB更新数据库 - (localdb)\MSSQLLocalDB 出错
【发布时间】:2018-06-11 14:01:04
【问题描述】:

在运行 Add-Migration 后运行 Update-Database 时遇到以下问题:

在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:50 - 发生本地数据库运行时错误。指定的 LocalDB 实例名称无效。 )

Sql 本地数据库:

在 Startup.cs 中:

 // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        //services.AddDbContext<MyContext>(options => options.UseSqlServer(Configuration["ConnectionStrings = DefaultConnection"]));
        //var connection = @"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.AspNetCore.NewDb;Trusted_Connection=True;ConnectRetryCount=0";
        //var connection =    @"Data Source = (localdb)\\MSSQLLocalDB; Database = Ecommerce2DB; Integrated Security = True; Connect Timeout = 30; Encrypt = False; TrustServerCertificate = False; ApplicationIntent = ReadWrite; MultiSubnetFailover = False";
        var connection = @"Data Source = (localdb)\\MSSQLLocalDB; Initial Catalog = Ecommerce2DB; Integrated Security = True; Connect Timeout = 30; Encrypt = False; TrustServerCertificate = False; ApplicationIntent = ReadWrite; MultiSubnetFailover = False";
            //                      Data Source = (localdb)\MSSQLLocalDB; Initial Catalog = master; Integrated Security = True; Connect Timeout = 30; Encrypt = False; TrustServerCertificate = False; ApplicationIntent = ReadWrite; MultiSubnetFailover = False
        services.AddDbContext<MyContext>(options => options.UseSqlServer(connection));

    }

【问题讨论】:

    标签: entity-framework


    【解决方案1】:

    此错误消息通知您无法连接到 MSSQL Server 和应用程序将无法连接到数据库。可能的 原因及排除步骤如下:

    1) MSSQL Server 未启动。启动它将允许您在可用 MSSQL 服务器的下拉列表中查看您的 MSSQL 服务器/实例。

    a) 进入开始菜单 -> 控制面板 -> 管理工具 -> 服务。

    b) 在服务列表中找到 SQL Server(实例名称,默认为 .)并检查其状态,它必须已启动(如果未启动,则右键单击 SQL Server 并从上下文菜单)。

    2) 防火墙阻止端口 1433(用于连接的 MSSQL 标准端口)。可以按照以下步骤禁用:

    a) 进入开始菜单 -> 控制面板 -> 管理工具 -> 服务。

    b) 查找防火墙服务,它必须被禁用(如果没有,则右键单击该服务并从上下文菜单中选择停止)。

    注意:更多信息可以在微软官方网站上找到:http://msdn.microsoft.com/en-us/library/cc646023.aspx

    3) 对 MSSQL 协议禁用 TCP/IP 协议。要启用它,请参阅以下步骤:

    a) 导航到“开始”菜单中的 SQL Server 配置管理器。

    b) 在 SQL Server 配置管理器中指定 TCP/IP 协议的设置。

    c) 重新启动计算机。

    注意:有关这方面的更多信息可以在微软官方网站上找到:http://msdn.microsoft.com/en-us/library/bb909712%28v=vs.90%29.aspx

    4) 确保您的数据库引擎已配置为接受远程连接(如果您使用的是集中式数据库):

    a) 打开 SQL Server Management Studio。 b) 右键单击​​ SQL Server 实例 -> 属性 -> 连接 -> 选中允许远程连接到此服务器框。 c) 转到常规部分并检查名称字段中指定的 SQL Server 的名称。

    5) 如果您使用的是命名 SQL Server 实例,请确保您在连接字符串中使用该实例名称。通常指定数据库服务器所需的格式是 machinename\instancename。

    6) 确保您的登录帐户对您登录时使用的数据库具有访问权限。

    替代方案:如果您仍然无法获得任何连接,您可能需要 在服务器上创建一个 SQL 帐户,在服务器上创建一个对应的 SQL 用户 有问题的数据库,只需使用此用户名/密码登录数据 连接到 SQL Server。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 2015-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多