云数据库 SQL Server tencentdb_ChangeLoginPassword 存储过程使用手册

tencentdb_ChangeLoginPassword 是部署在 SQL Server 实例 master 库中的存储过程,供用户自助修改其名下 SQL Login 的密码。用户无需拥有 sysadmin 角色即可完成密码修改。

相关产品
云数据库 SQL Server 产品页,含版本规格、价格与购买入口。

一、调用方式

USE masterGOEXEC dbo.tencentdb_ChangeLoginPassword @login = N'<目标登录名>', @new_password = N'<新密码>'

二、参数说明

参数 类型 说明
@login SYSNAME 要修改密码的 SQL Login 名称
@new_password NVARCHAR(128) 新密码

三、返回值

返回码 含义
0 成功
51001 登录名在系统黑名单中
51002 登录名不存在或非 SQL Login
51004 不允许修改 sa(系统内置特权账号)
51006 密码包含被服务器安全策略禁止的特殊字符
51007 目标登录名是特权服务器角色成员(sysadmin/securityadmin/serveradmin)
51008 密码不满足复杂度要求
51009 密码长度超限(> 32位)

四、密码复杂度要求

规则 要求
长度 8 ~ 32个字符
复杂度 至少包含字母、数字、符号中的2类
不含账号名 密码中不能包含登录名(不区分大小写)
特殊字符限制 不能包含 ]; [; ;[ '] [' 等特殊字符组合

五、调用示例

— 成功修改密码EXEC dbo.tencentdb_ChangeLoginPassword @login = N'myapp_user', @new_password = N'NewP@ss2026!'– 返回 0– 尝试修改系统账号(被拒绝)EXEC dbo.tencentdb_ChangeLoginPassword @login = N'tencent_admin', @new_password = N'Test1234!'– Msg 51001: Login is in the system blacklist and cannot be modified.– 密码不满足复杂度(被拒绝)EXEC dbo.tencentdb_ChangeLoginPassword @login = N'myapp_user', @new_password = N'123'– Msg 51008: Password does not meet complexity requirements.

六、注意事项

·仅 SQL Login 可用:Windows 认证账号不支持通过本存储过程修改密码。

·不支持修改特权账号:sysadmin/securityadmin/serveradmin 角色成员不允许修改。

·需要 EXECUTE 权限:你的账号需要对该存储过程拥有 EXECUTE 权限才能调用。

·在 master 库执行:调用前请先 USE master。

赞 (0)
上一篇 4天前
下一篇 4天前