2012-07-13 287 views
33

我有一台电脑被另一名员工使用。恢复sa密码

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

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

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

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

(当我进入安全性 - >登录 - > SA - >属性 Windows身份验证被禁用。)

我可以改变呢?

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

+1

可能重复的[有没有一种方法,我可以在sql server 2005中检索sa密码](http://stackoverflow.com/questions/196150/is-there-a-way-i-can-retrieve- sa-password-in-sql-server-2005) – 2012-07-13 18:10:28

回答

45

,最好的办法是简单地用一个域/本地管理员(所以你可能需要从系统管理员的帮助下)连接重置密码,但这只如果SQL Server设置为允许本地管理员(在安装期间这些管理员现在离开默认管理员组),则可以工作。

如果您不能使用此或其他现有的方法来恢复/重置SA密码,其中一些进行了说明:

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

你也可以搜索不那么认真的方式来做到这一点(例如,有密码破解者,我不热衷于分享)。

另外,sa的登录属性永远不会说Windows身份验证。这是设计的,因为这是一个SQL身份验证帐户。这并不意味着Windows身份验证在实例级别被禁用(事实上这是不可能的),它只是不适用于SQL身份验证帐户。

编辑 2013年2月5日

我也写了一篇关于使用PSExec小费使用NT AUTHORITY\SYSTEM帐户连接到一个实例:

http://www.mssqltips.com/sqlservertip/2682/recover-access-to-a-sql-server-instance/

也看到这两个资源:

http://technet.microsoft.com/en-us/library/dd207004.aspx

http://sqlblog.com/blogs/argenis_fernandez/archive/2012/01/12/leveraging-service-sids-to-logon-to-sql-server-2012-instances-with-sysadmin-privileges.aspx

+0

感谢您的回复。这是一个很好的解决方案。 – 2012-07-16 06:04:42

+1

http://www.passwordunlocker.com/knowledge/change-sql-server-password.html – 2013-03-17 12:17:27

+6

PSExec技巧非常完美! – 2014-02-26 21:48:26

3

最佳回答Dmitri Korotkevitch写:

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

如果您安装了SQL Server和Windows身份验证模式,并希望 改变它,你需要做2周不同的事情:

  1. 转到SQL Server属性/安全选项卡并更改模式到SQL Server认证模式

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

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

b。将密码分配给SA用户

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

我并不需要一提的是,从上述的每一个动作就会违背建议使用Windows身份验证模式 ,有sa登录禁用,并使用强密码尤其是对 sa登录 安全最佳实践。

+1

我不认为这有助于。该服务器已被设置为混合模式身份验证。而且用户没有必要更改sa密码,因此首先将问题发布到此处。 – 2012-07-13 18:41:34

+1

我试过了,但由于权限错误,它不能改变'sa'。 – 2012-07-13 18:47:36

+0

http://stackoverflow.com/a/24246285/1957479 – 2014-06-16 14:48:21