无法连接到(LocalDB)\MSSQLLocalDB -> 用户'User-PC\User'登录失败

56

我在尝试通过SQL Server管理工具连接(LocalDB)\MSSQLLocalDB时遇到了错误。我还尝试使用默认数据库master登录,但错误仍然存在。

输入图像描述 以下是服务器详细信息。 输入图像描述


4
还要记住不要像appsettings.json ConnectionStrings (localdb)\\mssqllocaldb一样转义一个反斜杠。正确的写法是(localdb)\mssqllocaldb - Ogglas
3个回答

131

警告:这将删除位于MSSQLLocalDB的所有数据库。请谨慎操作。

以下sqllocaldb实用程序命令适用于我。

sqllocaldb stop mssqllocaldb
sqllocaldb delete mssqllocaldb
sqllocaldb start "MSSQLLocalDB"

输入图像描述

之后我重新启动了SQL Server Management Studio,成功通过(LocalDB)\MSSQLLocalDB建立连接。


4
如果你正在使用这个数据库工具(正如你在提到 SSMS 时所说),重新启动 Visual Studio 也是必需的。 - Askolein
27
警告!如果您使用删除命令,这将会删除所有位于MSSQLLocalDB中的数据库。 - Malick
1
尝试您上面发布的内容后,我只有在欺骗MSSQLLocalDb实例出错后才能使其对我起作用。这是因为当我尝试运行sqllocaldb stop mssqllocaldb时,我在Windows API调用LogSqlDiagRec时出现了错误。我将HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\UserInstances\ParentInstance值从MSSQL13E.LOCALDB更新为MSSQL13.1E.LOCALDB,然后再更改回MSSQL13E.LOCALDB。这个无效的值13.1强制MSSQLLocalDB进入停止状态。这使我能够删除并重新启动mssqllocaldb。完成后,我可以在SSMS中登录到localdb。 - Guzumba
我正在处理一个Visual Studio问题,我的单元测试抛出了“用户登录失败”的错误(我甚至没有安装SQL Enterprise Studio)。即使我从我的“服务器资源管理器”中断开连接 - 直到我重新启动Visual Studio,什么都不起作用。 - bkwdesign
2
你可以使用 sqllocaldb stop mssqllocaldb -k 命令来强制停止一个出现问题的实例。 - wags1999
显示剩余7条评论

3
对于这个特定的错误,让我在VS2019中访问我的MDF文件的方法是:
  1. 在“解决方案资源管理器”中,右键单击您的MDF文件
  2. 分离
这就是全部,现在我可以访问了。我原本期望需要分离和附加,但那并不需要。
我也无法在SSMS中访问我的(localdb),所以Leniel Maccaferri的一个解决方案帮助了我。 这是他网站的链接,以及帮助我的摘录:

https://www.leniel.net/2014/02/localdb-sqlserver-2012-cannot-open-database-requested-by-login-the-login-failed-error-4060.html

enter image description here

当然,一旦你知道该怎么做,解决方案就非常简单了...
点击图1中的“选项”按钮。现在选择“连接属性”选项卡。
SSMS连接到服务器|连接属性|连接到数据库选项图2-SSMS连接到服务器|连接属性|连接到数据库选项
由于我没有可用数据库列表中的“master”,所以我必须在“连接到数据库”字段中键入它。
现在点击连接,你就完成了。

1
值得一提的是,如果你像我一样是个傻瓜,在“附加连接参数”中也设置了数据库名称,那么也要检查一下! - benmccallum

0
在我的情况下:
1. 使用 Windows + R 2. 然后输入 services.msc 3. 然后找到被关闭的 SQL Server 4. 我通过右键单击运行它,然后连接恢复了。

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