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

2023-10-24 05:40

本文主要是介绍忘记管理员密码的补救办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

 

一、启用单用户模式

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

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

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

wKioL1Q7Z-zB1lfGAAHlB-mrhOU674.jpg

 

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

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

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 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”创建对应的文件夹。

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

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

 

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

(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://www.chinasem.cn/article/273050

相关文章

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

使用Java实现Navicat密码的加密与解密的代码解析

《使用Java实现Navicat密码的加密与解密的代码解析》:本文主要介绍使用Java实现Navicat密码的加密与解密,通过本文,我们了解了如何利用Java语言实现对Navicat保存的数据库密... 目录一、背景介绍二、环境准备三、代码解析四、核心代码展示五、总结在日常开发过程中,我们有时需要处理各种软

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.