我正在尝试恢复本地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
但我得到同样的错误。
答案 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:
答案 3 :(得分:0)
确保所有 SQL Server服务已停止,但 SQL Server实例本身除外。我浪费了一个小时试图解决这个问题只是为了发现SQL Server VSS编写器服务一直在运行,并在实例以单用户模式启动时立即连接。我必须手动停止它,然后才能登录并解锁sa帐户。