表明当前用户是否是指定 Microsoft® Windows NT® 组或 Microsoft SQL Server™ 角色的成员。
IS_MEMBER (
{ 'group' | 'role' } )
'group'
被检查的 Windows NT 组的名称;必须用 Domain\Group 这种格式。group 的数据类型为 sysname。
'role'
被检查的 SQL Server 角色的名称。role 的数据类型为 sysname,它可以包括数据库固定角色或用户定义的角色,但不包括服务器角色。
int
IS_MEMBER 返回下面三个值。
返回值 | 描述 |
---|---|
0 | 当前用户不是 group 或 role 的成员。 |
1 | 当前用户是 group 或 role 的成员。 |
NULL | group 或 role 是无效的。 |
如果要通过程序检测当前用户是否可以执行某个活动(该活动依赖于应用到组或角色的权限),那么这个函数很有用。
下面的示例指明当前用户是否为 db_owner 固定数据库角色的成员。
IF IS_MEMBER ('db_owner') = 1
print 'Current user is a member of the db_owner role'
ELSE IF IS_MEMBER ('db_owner') = 0
print 'Current user is NOT a member of the db_owner role'
ELSE IF IS_MEMBER ('db_owner') IS NULL
print 'ERROR: Invalid group / role specified'
相关文章