Update-Database - (localdb)\ MSSQLLocalDB出错

时间:2018-06-11 14:01:05

标签: entity-framework

运行Add-Migration后运行Update-Database时出现以下问题:

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

Sql local DB:

enter image description here

在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));

    }

1 个答案:

答案 0 :(得分:0)

  

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

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

a)转到“开始”菜单 - &gt;控制面板 - &gt;管理工具 - &gt;服务。

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

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

a)转到“开始”菜单 - &gt;控制面板 - &gt;管理工具 - &gt;服务。

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

注意:有关此内容的更多信息,请访问Microsoft官方网站:http://msdn.microsoft.com/en-us/library/cc646023.aspx

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

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

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

c)重新启动计算机。

注意:有关此内容的更多信息,请访问Microsoft官方网站:http://msdn.microsoft.com/en-us/library/bb909712%28v=vs.90%29.aspx

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

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

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

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

  

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