sp_changegroup (Transact-SQL)
更改用户在当前数据库中的角色成员身份。
注意: |
---|
提供 sp_changegroup 是为了与 Microsoft SQL Server 的早期版本兼容。在新的开发工作中,请改用 sp_addrolemember 和 sp_droprolemember。 |
语法
sp_changegroup [ @grpname= ] 'role'
, [ @username = ] 'user'
参数
- [ @grpname = ] 'role'
添加用户的角色。role 的数据类型为 sysname,没有默认值。role 必须存在于当前数据库中。
- [ @username = ] 'user'
要添加到角色中的用户。user 的数据类型为 sysname,没有默认值。该用户必须已存在于当前数据库中。
返回代码值
0(成功)或 1(失败)
备注
角色提供一种管理应用于角色成员权限的机制。在将用户添加到角色中后,该用户便会获得授予该角色的权限。
在执行 sp_changegroup 时,user 的安全帐户将被添加为 role 的成员,并从所有其他角色中删除该帐户。若要更改单个角色中的角色成员身份而不影响其他角色中的成员身份,请使用 sp_addrolemember 和 sp_droprolemember。
使用 sp_adduser 授予新数据库用户访问数据库权限的同时,可将新数据库用户添加到角色。
每个用户都是默认角色 public 的成员。
sp_changegroup 不能在用户定义的事务中执行。
权限
需要具备下列条件之一:db_owner 固定数据库角色中的成员身份;db_securityadmin 固定数据库角色中的成员身份;拥有该角色的角色中的成员身份;或对角色的 ALTER 权限。
示例
以下示例使 Albert
用户成为 developers
角色的成员。
EXEC sp_changegroup 'developers', 'Albert'
请参阅
参考
安全存储过程 (Transact-SQL)
sp_addrole (Transact-SQL)
sp_addrolemember (Transact-SQL)
sp_adduser (Transact-SQL)
sp_dropgroup (Transact-SQL)
sp_helpgroup (Transact-SQL)
系统存储过程 (Transact-SQL)