无法在单用户模式下启动sql server

时间:2012-05-22 19:42:59

标签: sql-server sql-server-2008

我正在尝试恢复本地sql server的密码。

我读到我应该把它放在单用户模式下,我做到了。

我添加了-m;到启动参数。

我没有运行sql代理,我重新启动了Sql Server。

当我尝试:

sqlmd -S .\sqlexpress

我收到消息:

Login failed for the user 'mydomain\myuser'. reason: server is in single user mode.
only one administrator can connect at this time.

我也尝试将启动参数更改为:

-mSQLCMD

但我得到同样的错误。

4 个答案:

答案 0 :(得分:8)

你有没有尝试过:

NET STOP MSSQLSERVER

… give it a minute … 

NET START MSSQLSERVER /m

答案 1 :(得分:1)

对我来说什么是基本相同的东西,但我没想到我应该做什么。

NET STOP [MSSQLSERVERName]

NET START [MSSQLSERVERName] / m / c / f

不行(但实际上这是有用的)

现在,起初我以为没有任何改变,因为我收到了一条无法启动服务器的失败消息。我还检查了sql server配置管理器并检查了服务状态。通常读取开始或停止的位置读取待定更改。

意外挂起

我无法停止或重新启动服务,并认为它已挂起,因此我重新启动了计算机。直到后来当我弄清楚如何解决这个问题时,才意识到“挂起的更改”可能是我想看到的结果(我猜,“挂起的更改”意味着现在就解决问题)。

启动并运行

我再次尝试了net start命令,然后再次检查sql配置管理器 - 再次“挂起更改......” - 。但是,这次我启动了Sql Server Management Studio,我又回来了,谢天谢地!

<强> -c
独立于服务控制管理器启动SQL Server服务。这样做可以加快启动速度。

<强> -f     此标志以最小配置启动SQL Server,并允许更新系统表。如果DBA调整了配置选项以使服务无法启动,这将非常有用。如果你发现自己处于这种情况,你会欣赏“-f”标志,因为这可能是纠正SQL Server配置错误的唯一方法。

<强> -m
以单用户模式启动SQL Server。这意味着一次只能有一个用户连接到服务器,并且允许系统表的临时更新。此外,-m选项不会启动CHECKPOINT。当其中一个系统数据库损坏且您必须从备份重新加载它时,单用户模式很有用。

答案 2 :(得分:1)

Microsoft建议您不要通过命令行启动sqlserver.exe以进行除测试之外的任何操作:&#34;只能从命令提示符启动SQL Server以进行故障排除&#34;:

https://technet.microsoft.com/en-us/library/ms180965(v=sql.105).aspx

这也建议不要使用净止损,因为它会导致不可预测的结果。

重置sa密码的解决方案是以单用户模式启动sql server;这是使用-m标志实现的,这应该通过MSDN上建议的SQL Server配置管理器来设置;请参阅步骤说明的步骤4:

https://msdn.microsoft.com/en-us/library/dd207004.aspx

如果要在SSMS UI中重置密码,则必须首先告诉SQL Configuration Manager SSMS是启动SQL Server的东西;

因此,对SQL Congifuration Manager中SQL Server属性的“高级”选项卡上的“启动参数”的开头添加-m标志应该是(包括分号),如下所示

-m“Microsoft SQL Server Management Studio - 查询”;

如果不这样做,那么您将在SSMS中收到警告,告知它无法使用sa登录,因为它处于单用户模式。

请记住在完成后删除此启动标志。

进入单用户模式后,您应该可以重置密码: 打开SSMS:

  1. 展开安全文件夹
  2. 右键单击sa帐户
  3. 更改密码

答案 3 :(得分:0)

确保所有 SQL Server服务已停止,但 SQL Server实例本身除外。我浪费了一个小时试图解决这个问题只是为了发现SQL Server VSS编写器服务一直在运行,并在实例以单用户模式启动时立即连接。我必须手动停止它,然后才能登录并解锁sa帐户。