【问题标题】:The specified LocalDb instance does not exist指定的 LocalDb 实例不存在
【发布时间】:2014-09-24 03:11:37
【问题描述】:

我使用名为“Projects”的 localDB 已经有一段时间了。这与默认 ASP.NET MVC 5 项目创建的数据库相同。但是,它突然停止了,我无法连接到它,也无法使用重新启动它

SqlLocalDb start Projects

我明白了

The specified LocalDB instance does not exist.

我看到文件夹在

C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\Projects

另外,我有 v11.0

C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0

我可以连接到 v11。

我还能尝试重新连接什么?

连接字符串是

 <add name="DefaultConnection"  connectionString="Data Source=(localdb)\Projects;Initial Catalog=master;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False" providerName="System.Data.SqlClient" />

编辑

我尝试将 Db 文件附加到连接字符串

AttachDbFileName=C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\Projects\master.mdf;

但是,我仍然无法连接

A network-related or instance-specific error occurred while establishing a connection to SQL
Server. The server was not found or was not accessible. Verify that the instance name is correct
and that SQL Server is configured to allow remote connections. (provider: SQL Network
Interfaces, error: 50 - Local Database Runtime error occurred. The specified LocalDB instance
does not exist.)

【问题讨论】:

标签: asp.net-mvc localdb


【解决方案1】:

好像(localdb)\Projects 实例被删除了。您可以使用(localdb)\v11.0 或使用SqlLocalDB utility 重新创建Projects 实例

sqllocaldb c Projects 11.0

命令行解释

  • c - 用于“创建”
  • "Projects - 是实例名称
  • 11.0是版本

【讨论】:

  • 它成功了,但令人担忧的是,这个删除首先发生了:(
  • 可能是错误的菜单项点击! :)
【解决方案2】:

在我的情况下,Projects 实例已经存在,实际上是在命令行中调用它之后:

sqllocaldb i

出现了所有实例的列表,我的是:

  • MSSQLLocalDB
  • 项目
  • 项目V12
  • v11.0

我的 Web.Config 中的连接字符串默认有 Data Source=(LocalDb)\v11.0,所以我认为实例实际上应该是 v11.0 而不是 Projects。通过执行sqllocaldb i v11.0:

名称:v11.0

版本:11.0.3000.0

...

自动创建:是

状态:已停止

...

通过使用sqllocaldb s v11.0 启动实例,State 被更改为 Running,但即使这些实例都在运行,异常仍然被抛出。

我后来发现实例的名称必须是您在 Package Manager Console 中调用 Update-Database -Verbose 时显示的名称,在我的这个显示上:

目标数据库是:'Videos.Models.VideoDb'(数据源:(localdb)**v12.0**,提供者:System.Data.SqlClient,来源:约定)。

因此,我只需要使用 sqllocaldb c v12.0 12.0 创建 v12.0 实例并将 Web.Config 调整为此名称。完成后更新成功。

【讨论】:

    【解决方案3】:

    有趣的是,我在使用 (LocalDb)\Projects 几个月后也遇到了同样的问题。

    我碰巧知道在机器停止工作之前我在机器上做的最后一件事是安装 Telerik 的 Kendo MVC UI 的更新版本(这也恰好在 LocalDb 中安装了 KENDO.MVC.EXAMPLES\APP_DATA\SAMPLE.MDF v11.0) 我敢打赌启动和停止 v11.0 本地数据库,它以某种方式搞砸了 Projects 实例,就像你没有重新启动它一样。

    但是,如果您首先将所有 .mdf 和 .ldf 文件复制到临时文件夹中, 然后按照 Mrchief 的建议再次创建“项目”实例, 然后将您的文件复制回创建放在项目中的文件之上,它会将您的项目数据库恢复到其原始状态。

    一秒钟前刚刚做了,它成功了。

    【讨论】:

    • 我猜有些更新也做到了。我最后安装了 XNA 框架,但我不确定它是否是这样做的。不幸的是,重新启动我的 MVC 应用程序后,它重新生成了 .mdf 文件并清除了数据!幸运的是,它只是一个开发环境,可以重新生成。
    【解决方案4】:

    您可以在 web.config 或 App.config 中的 entityFramework 标签中将属性 --> 参数更改为“v11.0”而不是 v12.0 效果很好

    【讨论】:

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