sp_helprolemember (Transact-SQL)
返回有关当前数据库中某个角色的直接成员的信息。
适用范围:SQL Server(SQL Server 2008 到当前版本)。 |
语法
sp_helprolemember [ [ @rolename = ] 'role' ]
参数
- [ @rolename = ] ' role '
当前数据库中的角色的名称。 role 的数据类型为 sysname,默认值为 NULL。 role 必须存在于当前数据库中。 如果不指定 role,则返回当前数据库中至少包含一个成员的所有角色。
返回代码值
0(成功)或 1(失败)
结果集
列名 |
数据类型 |
说明 |
---|---|---|
DbRole |
sysname |
当前数据库中角色的名称。 |
MemberName |
sysname |
DbRole 成员的名称。 |
MemberSID |
varbinary(85) |
MemberName 的安全标识符。 |
注释
如果数据库包含嵌套角色,则 MemberName 可能是角色名称。 sp_helprolemember 不显示通过嵌套角色获取的成员身份。 例如,如果 User1 是 Role1 的成员,而 Role1 是 Role2 的成员,则 EXEC sp_helprolemember 'Role2' 将返回 Role1,而不是 Role1 的成员(在这个示例中为 User1)。 若要返回嵌套的成员身份,您必须对每个嵌套角色都重复执行 sp_helprolemember。
使用 sp_helpsrvrolemember 可以显示固定服务器角色的成员。
使用 IS_ROLEMEMBER (Transact-SQL) 可检查指定用户的角色成员身份。
权限
要求具有 public 角色成员身份。
示例
以下示例显示 Sales 角色的成员。
EXEC sp_helprolemember 'Sales';
请参阅
参考
sp_addrolemember (Transact-SQL)
sp_droprolemember (Transact-SQL)