无法以单用户模式登录到SQL Server


9

我一直在尝试各种不同的启动标志到SQL Server 2008 R2 Express的组合,但我无法克服此错误:

用户“ LOCALSERVER \ Administrator”的登录失败。原因:服务器处于单用户模式。此时只有一个管理员可以连接。(Microsoft SQL Server,错误:18461)

我已经尝试通过-m"SQLCMD"和在单用户模式下-m"sqlcmd"启动它,-m"Microsoft SQL Server Management Studio - Query"并且甚至尝试通过适当的客户端启动它并与之连接,但我总是会收到此错误。我99%确信没有其他东西会窃取我的连接,并且在与SSMS连接时,请确保执行“新查询连接”方法以确保其仅使用1个连接。

有没有其他人有这个问题?如何修复并登录?

Answers:


16

这是我刚刚发现的针对此旧问题的解决方案:

  1. 停止所有SQL服务
  2. 以-m开头
  3. 管理员身份运行MSSQL Management Studio

如果不是以管理员身份启动的(不是我所开始的),那么您将收到已连接通用管理员的信息。不用说您不是管理员就无法连接。

Microsoft另一个令人困惑的错误。我想sqlcmd也将存在相同的问题

问候

利亚姆


3
以管理员身份运行SSMS是非常重要的一点。没有那对我来说是行不通的。
MrEdmundo 2014年

gg,以管理员身份运行此命令是一件痛苦的事情。我什至不必进入-m模式。
Omzig,

9

尽管Microsoft 表示否则,您不应在-m之后引用。因此,对于SQLCMD,您可以这样做-mSQLCMD。我在任何地方都没有看到这句话,因此我将在此处进行记录。如果没有其他效果,请尝试不要引用它。


1
这绝对是我遇到的问题的100%。sqlcmd在此之后立即工作。
hlmtre

@Earlz:未能删除引号也是绝对,完全,完全是我的问题。(可能为我节省了一整天的工作,谢谢!)
techvslife

2

-m之后应该没有任何东西。语法应类似于:

sqlservr.exe -c -f -m 

然后,您使用sqlcmd登录到实例并进行所需的更改。如果尝试使用SQL Server Management Studio登录,则将无法登录,因为SSMS需要多个连接才能登录。


-m可以选择以“客户端名称”作为后缀,在我的情况下,我需要将其作为sqlcmd,因为其他事情将试图连接并窃取我的连接。
Earlz 2011年

谢谢,这对我来说是使用SQL Server 2012的正确答案。停止/禁用其他SQL服务,然后以管理员身份运行SSMS。
Noah Stahl 2014年

0

我只是遇到了这个确切的问题,我要做的就是:

  • 停止实例的主SQL服务。
  • 启动它。

我重新连接了SQL浏览器,它再次起作用。因此,人们应该尝试所有可行的最简单的方法,而不是尝试所有额外的步骤,然后再逐步进行更彻底的尝试。


-3

将用户帐户控制更改为从不通知可以为我解决此问题


在可行的解决方案中,为什么要低票?
格哈德·鲍威尔

反对的人应该解释为什么这不是一个好答案。否则,否决票将是无用的错误答案。
K_Rol
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.