IS_MEMBER (Transact-SQL)

指示当前用户是否为指定 Microsoft Windows 组或 Microsoft SQL Server 数据库角色的成员。

主题链接图标Transact-SQL 语法约定

语法

 IS_MEMBER ( { 'group' | 'role' } )

参数

  • 'group'
    被检查的 Windows 组的名称;必须采用格式 Domain\Groupgroup 的数据类型为 sysname
  • 'role'
    被检查的 SQL Server 角色的名称。role 的数据类型为 sysname,它可以包括数据库固定角色或用户定义的角色,但不包括服务器角色。

返回类型

int

备注

IS_MEMBER 返回以下值。

返回值 说明

0

当前用户不是 grouprole 的成员。

1

当前用户是 grouprole 的成员。

NULL

grouprole 无效。

IS_MEMBER 通过检查 Windows 创建的访问标记来确定 Windows 组成员身份。该访问标记不反映在用户连接到 SQL Server 实例后对组成员身份进行的更改。

示例

以下示例检查当前用户是否是数据库角色或 Windows 域组的成员。

-- Test membership in db_owner and print appropriate message.
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'
go

-- Execute SELECT if user is a member of ADVWORKS\Shipping.
IF IS_MEMBER ('ADVWORKS\Shipping') = 1
   SELECT 'User ' + USER + ' is a member of ADVWORKS\Shipping.' 
go

请参阅

参考

IS_SRVROLEMEMBER (Transact-SQL)
安全性目录视图 (Transact-SQL)
sp_addrolemember (Transact-SQL)
sp_addsrvrolemember (Transact-SQL)
sp_droprolemember (Transact-SQL)
sp_dropsrvrolemember (Transact-SQL)

其他资源

主体

帮助和信息

获取 SQL Server 2005 帮助