博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
忘记管理员密码的补救办法
阅读量:7116 次
发布时间:2019-06-28

本文共 2369 字,大约阅读时间需要 7 分钟。

  如果不慎遗忘 SQL Server 的管理员密码(即:遗忘了所有的管理员密码),或者需要强行添加另一个管理员帐号,这时候需要一种补救措施。

  SQL Server 提供了单用户模式(也称为维护模式),便于用户更改服务器配置选项或恢复受损的系统数据库。在单用户模式下启动 SQL Server,可以使本机Administrators 组的任何成员作为 sysadmin服务器角色的成员连接到 SQL Server 数据库引擎(实例)。

  注意:在单用户模式启动之前,请停止 SQL Server Agent 服务,防止 SQL Server Agent 抢占此唯一的连接。

 

一、启用单用户模式

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

2. 停止SQL Server 引擎服务(实例)

3. 修改该引擎服务的属性

 

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

(1) 适用于SQL Server 2012之前的旧版本

 

 

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

 

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 PC2014\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)如果遗忘了旧密码,重置密码 (官方不推荐使用sp_password)

1> Alter Login [BUILTIN\administrator] with password='newpassword';

2> GO

 

(4)如果还记得旧密码,修改密码

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<版本号>.<实例名称>”,例如 “MSSQL12.MSSQLSERVER”。这个设置是在安装SQL Server时指定的,安装向导将使用这个“实例ID”创建对应的文件夹。

 

三、启动数据库引擎服务

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

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

 

 

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

1. 找到 sqlservr.exe 的路径 

 

 

 

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

例如:

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

启动日志将直接显示在命令行窗口,请检查启动日志,确认已成功启用了单用户模式。

 

:还可以强行指定客户端程序。

(1) -m "sqlcmd" 。指定只有sqlcmd可以连接到SQL Server 实例。 

(2) -m "Microsoft SQL Server Management Studio -Query" 。指定只有SSMS可以连接到SQL Server 实例。

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

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

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

转载地址:http://emyel.baihongyu.com/

你可能感兴趣的文章
[Java 进阶]Java中的国际化
查看>>
7月2日云栖精选夜读丨支撑全网70%世界杯流量 盘点世界杯直播背后的阿里云黑科技...
查看>>
使用React制作一个可配置的页面生成器[0]
查看>>
请手动释放你的资源(Please release resources manually)
查看>>
中国互联网协会互联网教育工作委员会成立
查看>>
vue按需引入element Transfer 穿梭框
查看>>
Facebook 2018 年度开源回顾:新增开源项目 153 个
查看>>
JDBC的数据类型
查看>>
「镁客·请讲」Ayla米歇尔·马埃索:在物联网,我们要做一个“中心环节”
查看>>
PiFlow v0.5 发布:大数据流水线系统
查看>>
iOS__上传应用到AppStore出现Authenticating with the iTunes store
查看>>
mac下设置eclipse自动提示
查看>>
IntelliJ IDEA中日志分类显示设置
查看>>
数据结构思维 第十六章 布尔搜索
查看>>
独家|从满天飞舞到逐步落地,自动驾驶好消息只会越来越多
查看>>
如何找到后台运行的隐藏程序
查看>>
多维防护:虚拟化安全挑战的破解之道
查看>>
从羽泉到智能硬件,离婚后的胡海泉走过了一条什么样的道路?
查看>>
VR训练营第一期:聊聊全景拍摄和直播那点事
查看>>
Ubuntu 16.04下ssh启用root登录
查看>>