无法启动 LocalDB

37

无法启动 LocalDB 实例,我已经安装和重新安装了多次。

一直都得到以下错误:

由于以下错误,LocalDB 实例“v11.0”的启动失败: 在 LocalDB 实例启动期间发生错误:SQL Server 进程启动失败。

有人能给予任何建议吗?

我使用的是 Microsoft SQL Server 2012,我已确保完全安装选项,停止了所有与 SQL 相关的服务并尝试重新启动。

sqllocaldb info 

给我:

项目 v11.0

当我尝试时。

sqllocaldb start v11.0

我收到了上述错误。


@Alex的回答提供了一个链接到信息丰富的文章,其中包含解决IIS和LocalDb问题的方法:https://dev59.com/w2Yr5IYBdhLWcg3w7eXb#27257343 - nikib3ro
1
@kape123,我成功解决了这个问题。移除了IIS和MSSQL后,生活变得美好了!^_^ - Pogrindis
sqllocaldb 在早期是否被命名为 sqllocal?或者这是 OP 的误称?还是 sqllocalsqllocaldb 是两个不同的工具? - Trevor Reid
1
@TrevorReid 这是相当久以前的事了,但我怀疑我当时是在引用管道,CLI应该是,今天无论如何都是sqllocaldb。 - Pogrindis
1
对于 Windows 11,您可能想要查看 https://dev59.com/ZMTsa4cB1Zd3GeqPKeXG#73513159 - Timofeus
12个回答

60

当所有其他方法都失败了,而且您不在乎数据丢失时,请删除并重新创建您的LocalDB\v11.0数据库!在命令提示符下执行

sqllocaldb delete v11.0
sqllocaldb create v11.0

(Sqllocaldb在您的路径中吗?对我来说是的。)


1
警告:在执行此操作后,我的本地数据库出现了其他问题,我不知道是什么问题,但最终我不得不重新下载LocalDB安装程序,卸载LocalDB,并从下载的文件重新安装。 - Tim Lovell-Smith
2
实际上这也没有帮助到我,我的本地数据库出了点问题 :( - Tim Lovell-Smith
1
最终让它工作了。是的,这些步骤是解决方案的一部分。但我还有其他问题。 :-/ - Tim Lovell-Smith
2
@JDPeckham 我猜v12.0意味着你正在使用更新版本的SQL Server.. 是指微软SQL Server 2014吗? - Tim Lovell-Smith
2
sqllocaldb delete "MSSQLLocalDB" 然后 sqllocaldb create "MSSQLLocalDB" 以获取更新版本。 - Kerberos
@Kerberos - 很好的提示,对我很有效! - Matt

30

我遇到了类似的错误,但在运行以下命令时:

sqllocaldb start

本地数据库已成功启动。同时,在检查事件日志时,我看到了一个类似于以下内容的错误:

Windows API 调用 WaitForMultipleObjects 返回错误代码:575

对我有用的解决方法:

  1. 在 IIS 中,将应用程序池配置为在服务器上具有对数据库的权限的帐户下运行(应用程序池的高级选项)
  2. 在应用程序池的高级选项中,将 加载用户配置文件设置为 true

参考:http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-1-user-profile.aspx


6
这是解决我的问题的方法...正如所链接的文章所说:你需要在记事本中打开C:\Windows\System32\inetsrv\config\applicationHost.config,并向你的应用程序池添加setProfileEnvironment="true" - nikib3ro
对我来说有效,启动本地数据库时没有告诉实例名称。我过去会调用“sqllocaldb start mssqllocaldb”而不是“sqllocaldb start”。不过我只有一个实例 :) - barbara.post

9
值得一提的是,查看LocalDB日志文件也是很有价值的,它比事件日志更详细:
%LocalAppData%\Microsoft\Microsoft SQL Server Local DB\Instances\ProjectsV12\error.log

除了重新创建实例外,我还需要删除此文件夹的内容:

%LocalAppData%\Microsoft\VisualStudio\SSDT\

这是我拥有mdf和ldf文件的位置。


7

我的解决方案:

前往:%LocalAppData%\Microsoft\Microsoft SQL Server Local DB\,将文件夹“Instances”授权给everyone组,赋予完全控制权限。

我知道这并不是最好的方法,但它解决了我的问题。在这台计算机上,我只是在进行开发和测试,所以对于该文件夹中的数据我并不关心。


我还没有深入挖掘以查看哪个用户实际上需要权限...在将“Everyone”添加到列表中并赋予完全控制权限后,我能够验证它是否起作用。凭直觉,我删除了“Everyone”,但它仍然有效...但是看起来它已经将列表中的其他帐户翻转为完全控制...这可能就是为什么它对我仍然有效的原因。 - azarc3

6

我也遇到了同样的问题。以下是我使用其他帖子中的部分解决方案来解决此问题的方法。

在应用程序事件日志中,我有数十个这些错误:

Windows API call WaitForMultipleObjects returned error code: 575. Windows system error message is: {Application Error}
The application was unable to start correctly (0x%lx). Click OK to close the application.
Reported at line: 3730. 

我意识到我在我的开发机上已经安装了SQL Server Management Studio,但是没有其他的SQL组件。我从SQL Express中安装了数据库引擎、共享组件和localdb。

https://www.microsoft.com/en-us/cloud-platform/sql-server-editions-express

安装后,事件日志中仍然出现相同的错误 :(
找到了这篇文章: 无法启动 LocalDB 在 cmd 中运行以下命令以获取 localdb 实例名称: C:> sqllocaldb info
在我的安装中,我有: MSSQLLocalDB ProjectsV13
我运行以下命令来删除实例:
sqllocaldb delete MSSQLLocalDB
sqllocaldb delete ProjectsV13

我在尝试删除/创建这些内容时遇到了问题(sqllocaldb delete MSSQLLocalDB)。最终我删除了“%LocalAppData%\ Microsoft \ Microsoft SQL Server Local DB \ Instances *”下的所有文件夹和文件(您需要停止SQL Server并杀死所有sqlserver进程)。
然后运行“sqllocaldb create”创建并启动了默认实例和所有文件。

3

我也突然遇到了这个问题,但日志中没有发现任何异常。通过在管理员命令提示符下执行以下命令,我成功地解决了这个问题:

sqllocaldb start

1
我遇到了这个问题。我试图通过一个应用程序使用Windows身份验证,但是IIS应用程序池凭据不正确。我使用我的Windows用户名(例如:NETWORK\name)作为我的标识,但我将其更改为内置的"LocalSystem",然后它就可以工作了。

0

对我有效的是我使用的本地IIS应用程序池是ApplicationPoolIdentity,它没有权限登录到MSSQLLocalDB。当我将应用程序池标识更改为我的Windows登录帐户时,我就能够成功连接。


0

我还不能在这里评论帖子,但我真的想为我个人情况下非常有用的帖子https://dev59.com/w2Yr5IYBdhLWcg3w7eXb#30298863提供一个提示:

如果您的LocalDB实例是由Windows SYSTEM用户运行的(就像我的情况一样),那么error.log的路径是这样的(在Win11上运行的MS SQL Server 2012 Express LocalDB):C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\<InstanceName>(逐级输入此路径子文件夹以避免访问问题!)


0

在你尝试一些激进的操作之前:

等待约5分钟后,它自行“修复”了。

(也许这就是此日志消息所指的:“RANU实例由于内部超时而终止”)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接