你的位置:首页 > 数据库

[数据库]【转】在SQL Server 2008中SA密码丢失了怎么办?


sql server 2008的sa用户莫名其妙就登陆不进去了。提示如下:

以上提示就表明是密码错误,但密码我可是记得牢牢的,也许是系统被黑的原因吧。一直以来我的Windows身份验证就用不起,以下方法试了下是可行的,不过我没有新建Test账号。

================================================================================================

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

但是在以下情况下,怎么办呢?
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。