IS_MEMBER (Transact-SQL)
指出目前使用者是指定 Microsoft Windows 群組或 Microsoft SQL Server 資料庫角色的成員。
語法
IS_MEMBER ( { 'group' | 'role' } )
引數
- 'group'
這是所檢查 Windows 群組的名稱;格式必須為 Domain\Group。group 是 sysname。
- 'role'
這是要檢查的 SQL Server 角色名稱。role 是 sysname,可以包括資料庫固定角色或使用者自訂角色,但不包括伺服器角色。
傳回類型
int
備註
IS_MEMBER 會傳回下列值。
傳回值 | 描述 |
---|---|
0 |
目前使用者不是 group 或 role 的群組成員。 |
1 |
目前使用者是 group 或 role 的成員。 |
NULL |
group 或 role 無效。 |
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)