37

我有一台被另一名员工使用的电脑。

已安装 SQL Server 2008 R2,但我不知道“sa”密码。

当我尝试更改登录名时,出现以下错误。

无法更改登录“sa”,因为它不存在或您没有权限。

当我尝试恢复数据库时,它会给出不同的权限错误。

(当我进入 Security --> Logins --> sa --> Properties windows authentication is disabled.)

我可以改变它吗?

PS:密码不是“密码” :)

4

2 回答 2

47

最好的方法是通过连接域/本地管理员来简单地重置密码(因此您可能需要系统管理员的帮助),但这仅在 SQL Server 设置为允许本地管理员时才有效(这些现在不在设置期间的默认管理员组)。

如果您无法使用此方法或其他现有方法来恢复/重置 SA 密码,此处解释了其中一些方法:

然后,您可以随时备份重要数据库、卸载 SQL Server 并安装新实例。

您还可以搜索不那么严格的方法来做到这一点(例如,我不热衷于分享密码破解程序)。

顺便说一句,登录属性sa永远不会说 Windows 身份验证。这是设计使然,因为这是一个 SQL 身份验证帐户。这并不意味着在实例级别禁用 Windows 身份验证(实际上不可能这样做),它只是不适用于 SQL 身份验证帐户。

我写了一篇关于使用PSExec连接到使用该NT AUTHORITY\SYSTEM帐户的实例的提示(它适用于 < SQL Server 2012),以及一个后续说明如何破解 SqlWriter 服务(它可以在更现代的版本上运行):

以及其他一些资源:

于 2012-07-13T18:15:38.710 回答
4

Dmitri Korotkevitch撰写的最佳答案:

说到安装,SQL Server 2008 允许您在安装过程中设置身份验证模式(Windows 或 SQL Server)。如果您在安装过程中选择 sql server 身份验证模式,您将被迫为 sa 用户选择强密码。

如果您使用 Windows 身份验证模式安装 SQL Server 并想要更改它,您需要做 2 件不同的事情:

  1. 转到 SQL Server 属性/安全选项卡并将模式更改为 SQL Server 身份验证模式

  2. 转到安全/登录,打开 SA 登录属性

一种。如果您决定使用弱密码,请取消选中“强制密码策略”和“强制密码过期”复选框

湾。为 SA 用户分配密码

C。打开“状态”选项卡并启用登录。

我不需要提到上面的每个操作都会违反安全最佳实践,建议使用 Windows 身份验证模式、禁用 sa 登录并使用强密码,尤其是用于 sa 登录。

于 2012-07-13T18:27:48.807 回答