IS_MEMBER (Transact-SQL)

現在のユーザーが指定された Microsoft Windows グループまたは Microsoft SQL Server データベース ロールのメンバであるかどうかを示します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

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

引数

  • 'group'
    確認する Windows グループの名前です。Domain\Group という形式にする必要があります。groupsysname です。
  • 'role'
    確認する SQL Server ロールの名前です。rolesysname であり、データベース固定ロールまたはユーザー定義ロールを含めることができますが、サーバー ロールを含めることはできません。

戻り値の型

int

解説

IS_MEMBER は、次の値を返します。

戻り値 説明

0

現在のユーザーは、group または role のメンバではありません。

1

現在のユーザーは、group または role のメンバです。

NULL

group または role が無効です。

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 の参考資料の入手