【问题标题】:Can't start sql server in single user mode无法在单用户模式下启动 sql server
【发布时间】:2012-05-22 19:42:59
【问题描述】:

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

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

我添加了 -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

但我得到了同样的错误。

【问题讨论】:

  • ServerFault.com 会更好地回答这个问题

标签: sql-server sql-server-2008


【解决方案1】:

你试过了吗:

NET STOP MSSQLSERVER

… give it a minute … 

NET START MSSQLSERVER /m

【讨论】:

  • 好吧我已经重启过很多次了....而且启动参数有-m;
  • 但奇怪的是,当我创建一个用户时,我在登录区域中看不到该用户,我无法使用它登录。
  • 发布问题:serverfault.com - 他们可能会提供帮助 - 我不知道为什么它不会让你回来
【解决方案2】:

什么对我有用,基本上是一样的,但我没想到我应该做什么。

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。当系统数据库之一损坏并且您必须从备份中重新加载它时,单用户模式非常有用。

【讨论】:

    【解决方案3】:

    Microsoft 建议您不应通过命令行启动 sqlserver.exe,而应进行测试:“SQL Server 应仅从命令提示符启动以进行故障排除”:

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

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

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

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

    如果您想在 SSMS UI 中重置密码,那么您必须首先告诉 SQL 配置管理器 SSMS 将启动 SQL Server;

    所以你的 -m 标志除了在 SQL 配置管理器中 SQL Server 属性的高级选项卡上的启动参数的开头应该是(包括分号)如下

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

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

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

    在单用户模式下,您应该能够重置密码: 打开 SSMS:

    1. 展开安全文件夹
    2. 右击sa账号
    3. 更改密码

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-10
        • 2023-03-31
        • 2021-05-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多