Update-Database - (localdb) MSSQLLocalDB出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Update-Database - (localdb) MSSQLLocalDB出错相关的知识,希望对你有一定的参考价值。
运行Add-Migration后运行Update-Database时遇到以下问题:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误。指定的LocalDB实例名称无效。)
Sql本地DB:
在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));
}
此错误消息通知您无法连接到MSSQL Server,应用程序将无法连接到数据库。可能的原因和消除步骤描述如下:
1)MSSQL Server未启动。启动它将允许您在可用的MSSQL服务器的下拉列表中查看您的MSSQL服务器/实例。
a)转到“开始”菜单 - >“控制面板” - >“管理工具” - >“服务”。
b)在服务列表中找到SQL Server(实例名称,默认为。)并检查其状态,它必须是Started(如果它未启动,则右键单击SQL Server并从上下文菜单中选择Start) 。
2)防火墙阻塞端口1433(用于连接的MSSQL标准端口)。可以按照以下步骤禁用它:
a)转到“开始”菜单 - >“控制面板” - >“管理工具” - >“服务”。
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实例 - >属性 - >连接 - >选中允许远程连接到此服务器框。 c)转到“常规”部分,检查“名称”字段中指定的SQL Server名称。
5)如果您使用的是命名SQL Server实例,请确保在连接字符串中使用该实例名称。通常,指定数据库服务器所需的格式是machinename instancename。
6)确保您的登录帐户对登录期间使用的数据库具有访问权限。
替代方法:如果仍然无法建立任何连接,您可能希望在服务器上创建一个SQL帐户,在相关数据库上创建相应的SQL用户,并使用此用户名/密码登录数据连接到SQL Server。
以上是关于Update-Database - (localdb) MSSQLLocalDB出错的主要内容,如果未能解决你的问题,请参考以下文章
在通过“update-database”命令更新数据库后,有啥方法可以恢复 Ef Core - Database Migration [重复]
如何更改Update-Database ef迁移的连接字符串?
运行 update-database 导致错误:“发生文件激活错误”