共用方式為


IS_MEMBER (Transact-SQL)

指出目前使用者是指定 Microsoft Windows 群組或 Microsoft SQL Server 資料庫角色的成員。

主題連結圖示Transact-SQL 語法慣例

語法

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

引數

  • 'group'
    這是所檢查 Windows 群組的名稱;格式必須為 Domain\Groupgroupsysname
  • 'role'
    這是要檢查的 SQL Server 角色名稱。rolesysname,可以包括資料庫固定角色或使用者自訂角色,但不包括伺服器角色。

傳回類型

int

備註

IS_MEMBER 會傳回下列值。

傳回值 描述

0

目前使用者不是 grouprole 的群組成員。

1

目前使用者是 grouprole 的成員。

NULL

grouprole 無效。

IS_MEMBER 會檢查 Windows 所建立的存取 Token 來判斷 Windows 群組成員資格。存取 Token 不會反映在使用者連接到 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 協助