English 中文(简体)
不能以单一用户模式启动 sql 服务器
原标题:Can t start sql server in single user mode

我想找回本地的 Sql 服务器 Sa 密码

我读到,我应该把它 以单一用户模式, 我做到了。

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

我没有 Sql 代理运行, 我重新启动了 Sql 服务器。

当我尝试:

sqlmd -S .sqlexpress

我得到的信息是:

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

我还尝试将启动参数修改为:

-mSQLCMD

但我也有同样的错误

最佳回答

你有没有试过:

NET STOP MSSQLSERVER

… give it a minute … 

NET START MSSQLSERVER /m
问题回答

对我起作用的是什么 基本上是一样的事 但我没想到我该做什么

净停止 [MSSQSERVERName]

净裁电网 [MSSQLERVERName] /m/c/f

< 坚固> 不走( 但实际上这是有效的)

起初,我以为没有改变是因为我收到一个失败信息, 服务器无法启动。 我还检查了 sql 服务器配置管理器, 并检查了服务状态。 它通常从那里读开始或停止, 读取待定的更改 。

<强> 挂/强>

我无法停止或重新启动服务, 以为服务被挂了, 于是我重新启用了电脑。 直到后来我才知道如何解决问题, 我才意识到“待定变化”可能是我想看到的结果(我猜,“待定变化”意味着现在就去解决问题 ) 。

< 加固 > 上下运行

我再次尝试了净启动命令, 然后又检查了 Sql 配置管理器, 再一次“ 等待更改...... ” 。 但是,这次我又开始了 Sql 服务器管理工作室, 并且我又重新投入了工作, 谢天谢地!

-c
Starts SQL Server service independently of the Service Control Manager. Doing so speeds up startup.

-f This flag starts SQL Server with minimal configuration and allows updates to system tables. This is useful if the DBA has tweaked the configuration options such that the service won t start. If you find yourself in such situation you ll appreciate "-f" flag, since this could be the only way to correct the mistakes in the SQL Server configuration.

-m
Starts SQL Server in single-user mode. This means only one user can connect to the server at one time and ad-hoc updates of system tables are allowed. Furthermore, -m option does not start CHECKPOINT. Single-user mode is useful when one of the system databases is corrupt and you have to reload it from a backup.

微软建议您不应该通过命令行启动 sqlserver. exe, 仅用于测试 : “ SQL 服务器只应该从命令提示中启动, 以便排除故障 ” :

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

这也表明,不应使用净截停,因为这会导致无法预测的结果。

重置 sa 密码的解决方案是以单一用户模式启动 sql 服务器; 这是使用 -m 标记实现的, 应该按照 MSDN 上的建议, 通过 SQL 服务器配置管理器设置 ; 见 一步步 4 步骤 :

https://msdn.microsoft.com/en-us/library/dd207004.aspx" rel=“nofollow'>https://msdn.microsoft.com/en-us/library/ddd2070004.aspx

如果您想要在 SSMS 界面中重设密码, 那么您必须先 first 告诉 SQL 配置管理器, SSMS 是启动 SQL 服务器的东西 ;

所以您在 SQL Confuration 管理器 SQL SQL 服务器属性高级标签上启动启动参数的启动时添加的 -m 标记应该如下(包括分号) (包括分号)

-m " 微软SQL服务器管理工作室 - 查询 " ;

如果您不这样做,那么在SSMS中将会得到警告,告诫它不能以单用户模式登录 sa 。

记住在完成后删除启动标记 。 @ info: whatsthis

Once in single user mode, you should be able to reset password: Open SSMS:

  1. Expand Security folder
  2. Right Click on the sa account
  3. Change password

确保停止 sQL 服务器服务 < strong > all SQL 服务器服务, 但 < strong> SQL 服务器实例 本身除外。 我浪费了一个小时试图解决这个问题, 只是为了知道 SQL 服务器 VSS Writer 服务一直在运行, 并在事件以单一用户模式启动后立即连接。 我不得不手动停止它, 然后才能登录并解锁 sa 账户 。





相关问题
Export tables from SQL Server to be imported to Oracle 10g

I m trying to export some tables from SQL Server 2005 and then create those tables and populate them in Oracle. I have about 10 tables, varying from 4 columns up to 25. I m not using any constraints/...

SQL server: Can NT accounts be mapped to SQL server accounts

In our database we have an SQL server account that has the correct roles to access some of the databases. We are now switching to windows authentication and I was wondering if we can create a NT user ...

SQL Server 2000, ADO 2.8, VB6

How to determine if a Transaction is active i.e. before issuing Begin Transaction I want to ensure that no previous transaction are open.. the platform is VB6, MS-SQL Server 2000 and ADO 2.8