技术| 如何在 Microsoft SQL Server 上恢复 SA 密码

2022-03-30 00:00:00 密码 启动 实例 重置 单击


一、概述

如果您丢失了 SA 密码,您可能认为的选择是重新安装 SQL Server 并重新附加所有用户数据库。但是,SQL Server 提供了一种更好的灾难恢复方法,可以将对象和数据保留在 master 数据库中。只需在单用户模式下启动 SQL Server,您就可以使用 OSQL 命令轻松恢复 SA 密码。





二、方法步骤

2.1 方法一:单用户模式下的恢复

STEP1:以单用户模式启动 SQL Server

  1. 打开 SQL Server 配置管理器。

  2. 找到恢复 SA 密码所需的 SQL Server 实例。

  3. 停止 SQL Server 实例。

  4. 右键单击实例并选择属性。

  5. 单击选项卡,并添加-m;到启动参数的开头。

  6. 单击“确定”并启动实例。

STEP2:恢复 SQL Server SA 密码

  1. 打开提升的命令提示符并输入命令:osql -S myServer\instanceName -E 将 myServer\instanceName 替换为计算机的名称和要连接的 SQL Server 实例。

  2. 在接下来的提示中,输入以下命令:1> alter login sa enable2> go1> sp_password NULL,'new_password','sa'2> go1> quit

  3. 停止 SQL Server 实例。

  4. 从启动参数字段中删除 -m 选项,然后启动 SQL Server 服务。

2.2 方法二:如何在不停止 SQL Server 实例的情况下重置忘记的 SA 密码

上面分享的种方法需要重启SQLSERVER实例,也就是说会有短暂的停机,对应用会有短暂的影响 那如何在不停止 SQL Server 实例的情况下重置忘记的 SA 密码呢?


首先,我们需要以系统帐户运行 SQL Server Management Studio。这可以通过 PsExec 程序轻松完成。从Sysinternals 网站下载 PsExec 。解压缩 PsExec.exe 程序并将其保存到计算机上的文件夹中,例如 C:\。


打开提升的命令提示符并运行以下命令:C:\PsExec.exe -s -i "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe" 注意:SQL Server Management Studio 的实际路径可能与上面的不同。


它将作为系统帐户启动 SQL Server Management Studio。您会看到用户名显示为“NT AUTHORITY\SYSTEM”。只需选择“Windows 身份验证”模式并单击“连接”按钮。


连接后,在 Object Explorer 视图中,单击 Security 旁边的加号,然后单击 Logins 旁边的加号。展开后,右键单击 SA 用户,然后选择“属性”。然后,您可以使用新密码更改忘记的 SA 密码。


被锁定在 SQL Server 实例之外,或者只是忘记了 SA 密码是很常见的。通过这种方法,您可以轻松重置忘记的 SQL Server 密码!无需停机即可快速重新获得对 SQL Server 数据库的访问权限。此时,您应该能够使用 SA 用户帐户和您提供的新密码登录 SQL Server。

2.3 方法三:借助工具SQL Server Password Changer

除了使用 上述两种方法恢复 SA 密码外,您还可以使用SQL Server Password Changer等第三方软件重置/更改您忘记的 SA 密码。

来源 https://mp.weixin.qq.com/s/lJdB2lwdNYiu7y_OtOjqbg

相关文章