如何修复MSSQLLocalDB?

问题描述 投票:5回答:4

在我的机器上MSSQLLocalDB损坏了:

PS C:\WINDOWS\system32> sqllocaldb i
MSSQLLocalDB
Projects
ProjectsV12
v11.0
PS C:\WINDOWS\system32> sqllocaldb i mssqllocaldb
The required LocalDB version "0.0" is not installed.
PS C:\WINDOWS\system32>

有什么我可以做的不能重新安装Visual Studio / Sql Server / Sql Express来修复它吗?

我应该提一下,依赖于LocalDb的任何Visual Studio功能都不起作用,例如CodeMaps

visual-studio sql-server-express localdb
4个回答
14
投票

如果您刚刚安装了LocalDB但尚未启动实例,则会发生这种情况。我不确定重新启动是否会为我重新启动它(我想它会有),但以下工作无需:

C:\Users\sweaver>sqllocaldb.exe s MSSQLLocalDB
LocalDB instance "MSSQLLocalDB" started.

这应该是你所需要的 - 但这是我在这个过程中使用的完整诊断步骤。


这是在安装新版本的LocalDB(2014)之前

C:\Users\sweaver>sqllocaldb.exe i
v11.0

然后

C:\Users\sweaver>sqllocaldb.exe i
MSSQLLocalDB
v11.0

然后我立即得到这个错误

C:\Users\sweaver>sqllocaldb.exe i MSSQLLocalDB
The required LocalDB version "0.0" is not installed.

奇怪!那么版本11 - 没关系

C:\Users\sweaver>sqllocaldb.exe i v11.0
Name:               v11.0
Version:            11.0.5343.0
Shared name:
Owner:              RR2014\sweaver
Auto-create:        Yes
State:              Running
Last start time:    3/10/2016 3:00:29 PM
Instance pipe name: np:\\.\pipe\LOCALDB#60C1AC49\tsql\query

这是版本

C:\Users\sweaver>sqllocaldb.exe v
Microsoft SQL Server 2012 (11.0.5343.0)
Microsoft SQL Server 2014 (12.0.2000.8)

我们来试试吧吧

C:\Users\sweaver>sqllocaldb.exe s MSSQLLocalDB
LocalDB instance "MSSQLLocalDB" started.

然后再试一次...

C:\Users\sweaver>sqllocaldb.exe i MSSQLLocalDB
Name:               MSSQLLocalDB
Version:            12.0.2000.8
Shared name:
Owner:              RR2014\sweaver
Auto-create:        Yes
State:              Running
Last start time:    3/10/2016 3:10:55 PM
Instance pipe name: np:\\.\pipe\LOCALDB#1D3F49F3\tsql\query

唷!那很简单!


2
投票

我最终做了什么。请注意,我确信这不是一个正确的方法,而是一个混乱的黑客。它允许我让我的CodeMaps再次工作,所以我很高兴。

我删除了mssqllocaldb

sqllocaldb d mssqllocaldb

系统不会让我再次创建它,所以我创建了另一个:

sqllocaldb с mssqllocaldb1

我去了"C:\Users\[username]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\"并备份了MSSQLLocalDB文件夹。然后我将MSSQLLocalDB1文件夹复制到MSSQLLocalDB

在注册表中,我在HKCU\Software\Microsoft\Microsoft SQL Server\UserInstances\下找到了新实例并更改了DataDirectory值以反映新路径,即以MSSQLLocalDB而不是MSSQLLocalDB1结束。

之后我能够成功启动MSSQLLocalDB并且CodeMaps工作:

PS C:\ WINDOWS \ system32> sqllocaldb s mssqllocaldb

LocalDB实例“MSSQLLocalDB”已启动。


0
投票

我通过删除文件夹和注册表来解决问题。接下来是安装。

删除文件夹

C:\ Users \ username \ AppData \ Local \ Microsoft \ Microsoft SQL Server Local DB \ Instances \ MSSQLLocalDB

删除具有MSSQLLocalDB的注册表项,如HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ UserInstances {B0A12082-AC5B-4E05-A0C9-ABFB6816EE16}

从cmd运行

C:> sqllocaldb c MSSQLLocalDB

使用版本13.0.2151.0创建的LocalDB实例“MSSQLLocalDB”。


0
投票

我刚刚将HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\UserInstances\下的注册表项GUID更新为正在为我工​​作的ParentInstance的正确值。通常,当您升级到更高版本时会发生这种情况。我必须将parentInstance值从MSSQL12E.LOCALDB更改为MSSQL13E.LOCALDB

© www.soinside.com 2019 - 2024. All rights reserved.