忘记SQL Server的SA用户密码解决方法

来源:互联网 发布:js 对象 编辑:程序博客网 时间:2024/05/17 23:40

 

如果SQL Serversa密码忘记了……我们还有查询分析器,验证的时候,选择按照Windows身份验证,就直接进去了。

输入命令:
exec sp_password null,'
新密码','sa'
好了,现在密码已经改变成了'新密码
'



下面是SQL Server的帮助看到的关于存储过程 sp_password的说明:
sp_password
添加或更改 Microsoft SQL Server" 登录的密码。
语法
sp_password [ [ @old = ] 'old_password' , ]
{ [ @new =] 'new_password' }
[ , [ @loginame = ] 'login' ]

参数
[@old =] 'old_password'

是旧密码。old_password sysname 类型,其默认值为 NULL

[@new =] 'new_password'

是新密码。new_password sysname 类型,无默认值。如果没有使用命名参数,就必须指定 old_password

[@loginame =] 'login'

是受密码更改影响的登录名。login sysname 类型,其默认值为 NULLlogin 必须已经存在,并且只能由 sysadmin 固定服务器角色的成员指定。

返回代码值
0
(成功)或 1(失败)

注释
SQL Server
密码可包含 1 128 个字符,其中可包括任何字母、符号和数字。

新密码以加密的形式更新和存储,因此,任何用户(甚至系统管理员)都不能查看密码。

sysadmin securityadmin 固定服务器角色的成员使用带全部三个参数的 sp_password

重新设置他们自己的密码时,审核记录反映的却是他们正在更改别人的密码。

sp_password
不能用于 Microsoft Windows NT 安全帐户。通过 Windows NT 网络帐户连接到 SQL Server 的用户是由 Windows NT 授权的,因此其密码只能在 Windows NT 中更改。

sp_password
不能在用户定义的事务中执行。

权限
执行权限默认地授予 public 角色,以供用户更改自己的登录密码。只有 sysadmin 角色的成员可更改其他用户的登录密码。

示例
A.
无原密码的情况下更改登录密码
下面的示例将登录 Victoria 的密码更改为 ok

EXEC sp_password NULL, 'ok', 'Victoria'

B.
更改密码
下面的示例将登录 Victoria 的密码由 ok 改为 coffee

EXEC sp_password 'ok', 'coffee'