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 类型,其默认值为 NULL。login 必须已经存在,并且只能由 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','Victoria'