<转>数据库验证方式时,在SQL Server 2008中SA密码丢失/锁定后该怎么办?

在SQL Server 2008中SA密码丢失了怎么办?

如果你丢失了SA密码或者SA账号被禁用了,在以下情况下,还是可以登录SQL Server 2008, 重置SA密码.
1. 如果Builtin\Administrator在SQL Server中还存在,你可以用Administrators group的成员去登录,然后重置SA密码。
2. 或者你还有其它的sysadmin权限的账号,你可以用此账号登录,重置SA密码。

如果短时间内不停连接,就会被SQL SERVER误认为是这是攻击,会将此账号锁定。要用windows方式登录,在查询分析器里输入:

Sql代码
ALTER LOGIN sa ENABLE ; 
GO 
ALTER LOGIN sa WITH PASSWORD = '' unlock, check_policy = off, check_expiration = off ; 
GO  
这样就将密码置空,然后再重启mysqlserver即可登录。

但是在以下情况下,怎么办呢?
1. SA密码丢失或者SA账号被禁用。
2. 你进行了一些安全操作,把Builtin\Administrator账号从SQL Server中删除了。
然后你不可以用sysadmin权限的账号登录SQL Server了,是不是打算重装SQL Server 2008了呢?其实可以不用重装系统。

我们可以把SQL Server 2008 启动为单用户模式,然后用Windows Administrative groups里的成员去登录SQL Server 2008.

操作步骤:
1. 我们可以先添加一个账号为Test的成员到Windows Administrative groups,用Test账号登录操作系统。
2. 用Run as a administrator打开命令提示符里输入NET STOP MSSQLSERVER, 即停止MSSQLSERVER运行。
3. 在命令提示符里输入 NET START MSSQLSERVER /m, 将SQL Server 2008 启动为单用户模式。
4. 然后可以用Test账号登录SQL Server 2008。
5. SQL Server已经是单用户模式启动即只允许一个用户连接,这时单击“New Query”会报错“Login failed for user. Reason: Server is in single user mode. Only one administrator can connect at this time”。
6. 这时右击实例名,单击“断开连接”,关闭“对象资源管理器”,然后再点击“New Query”就可以连接了,你可以使用命令 ALTER Login SA enable 重新开启SA 账户。
7. 你可以创建一个有sysadmin权限的SQL Server的 新账户SAMLPE。

CREATE LOGIN SAMPLE WITH PASSWORD=’PASSWORD@123’ SP_ADDSRVEROLEMEMBER ‘SAMPLE’ , ’SYSADMIN’



8. 现在你需要关闭SQL Server,在命令提示符下 输入 NET STAR MSSQLSERVER 正常启动SQL Server,你就可以SA 账户或者新创建的账号来登录SQL Server了。

此操作也同样适用于SQL Server 2005。

 

此文转自http://hi.baidu.com/vc5310/blog/item/c2c3644359e4700d9213c64b.html

  

2013-03-27 已在win7 + SQL Server 2008 R2测试通过,值得收藏,推荐收藏.

posted @ 2013-03-27 11:38  自由的企鹅  阅读(3845)  评论(0编辑  收藏  举报