首页 > 代码库 > 忘记管理员密码的补救办法

忘记管理员密码的补救办法

如果不慎遗忘管理员密码,或者需要强行添加另一个管理员帐号,这时候需要一种补救措施。

 

一、启用单用户模式

1. 打开SSCM(SQL Server配置管理器)

2. 停止数据库服务

3. 修改数据库引擎的属性

wKioL1Q7Z-zB1lfGAAHlB-mrhOU674.jpg

 

4. 添加单用户模式启动参数

(1) 适用于SQL Server 旧版本

wKiom1Q7fYPBiRK1AAJiHAPzXBw725.jpg 

 

(2) 适用于SQL Server 2012及后陆版本

wKioL1Q7aHThamIJAAFe6_uwiMs725.jpg

 

5. 完成上述修改后,启动数据库引擎

6. 检查启动日志,确认已进入了单用户模式

2014-10-13 13:55:08.95 spid7s      SQL Server started in single-user mode. This an informational message only. No user action is required.

 注意:启动日志文件的位置及文件名由“启动参数”的“-e”参数指定。例如,“C:\Users\Administrator>notepad C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Log\ERRORLOG ”。

 

 

二、越权添加或修改管理员帐户

1. 查看数据库服务的列表

C:\Users\Administrator> sqlcmd -L

服务器:
    PC2014
    PC2014\SQL2008R2
    PC2014\SQL2012

 

2. 使用sqlcmd连接到数据库 

C:\Users\Administrator> sqlcmd -S localhost\SQL2008R2

 

 

3. 执行以下其中一条T-SQL语句,添加或修改帐号

(1)添加本地或域帐户到管理员组

1> EXEC sp_addsrvrolemember ‘PC2014\jim‘, ‘sysadmin‘;
2> GO

 

(2)添加内置帐户到管理员组

1> EXEC sp_addsrvrolemember ‘BUILTIN\administrators‘, ‘sysadmin‘;
2> GO

 

(3)如果遗忘了旧密码,重置BUILTIN\administrator帐户的密码

1> Alter Login [BUILTIN\administrator] with password=‘newpassword‘;
2> GO

 

(4)如果还记得旧密码,修改sa帐户的密码

1> Alter Login [sa] with password=‘newpassword‘ old_password=‘oldpassword‘;
2> GO

 

注意:如果SA帐户被禁用,则

1> Alter Login [sa] ENABLE;
2> GO 


注意:如果服务器身份验证模式仅为“Windows身份验证模式”,那么需要改为“SQL Server和Windows身份验证模式”,才可以使用sa帐户。修改此模式需要修改注册表,注册表项位于:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<实例ID>\MSSQLServer,将LoginMode改为2即可。

“实例ID”的命名格式默认为“MSSQL<版本号>.<实例名称>”。这个设置是在安装SQL Server时指定的。

wKioL1Q7imajAlrAAAMpYpIY_Wg150.jpg


 

三、启动数据库

1. 打开SSCM,修改数据库引擎的属性,将“-m ”参数从启动参数中移除 

2. 启动数据库引擎,以新建或修改过的管理员帐户连接到数据库

 

 

附注:直接使用命令行启动单用户模式的方法

1. 找到 sqlservr.exe 的路径 

wKiom1Q7gZGjP7v5AAIxWqcEb88147.jpg 


wKiom1Q7garQuCwKAAHZXCVviQU110.jpg 

 

2. 复制 sqlservr.exe 到命令行窗口,添加“-m”参数并运行

例如:

C:\Users\Administrator> "C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Binn\sqlservr.exe" -sSQL2008R2 -m


3. 另外打开一个命令行窗口,即可以使用sqlcmd执行操作。

4. 如需停止数据库,只需要在sqlservr.exe窗口按Ctrl-C(甚至直接关闭sqlservr.exe的窗口),在遇到提问时回答“Y”。

 Do you wish to shutdown SQL Server (Y/N)?


本文出自 “我们一起追过的MSSQL” 博客,请务必保留此出处http://jimshu.blog.51cto.com/3171847/1563207

忘记管理员密码的补救办法