IS_MEMBER (Transact-SQL)
Indica se l'utente corrente è membro del gruppo di Microsoft o del ruolo di database di Microsoft SQL Server specificato.
Convenzioni della sintassi Transact-SQL
Sintassi
IS_MEMBER ( { 'group' | 'role' } )
Argomenti
- 'group'
Nome del gruppo di Windows per cui viene eseguita la verifica, nel formato Domain\Group. group è di tipo sysname.
- 'role'
Nome del ruolo di SQL Server per cui viene eseguita la verifica. role è di tipo sysname e può includere i ruoli predefiniti del database o quelli definiti dall'utente, ma non i ruoli del server.
Tipi restituiti
int
Osservazioni
IS_MEMBER restituisce i valori seguenti.
Valore restituito | Descrizione |
---|---|
0 |
L'utente corrente non è membro del gruppo o ruolo specificato nell'argomento group o role. |
1 |
L'utente corrente è membro del gruppo o ruolo specificato nell'argomento group o role. |
NULL |
Uno dei due argomenti group o role non è valido. |
IS_MEMBER determina l'appartenenza al gruppo di Windows tramite l'analisi di un token di accesso creato da Windows. Il token di accesso non riflette le modifiche a livello di appartenenza al gruppo apportate dopo la connessione da parte di un utente a un'istanza di SQL Server.
Esempi
Nell'esempio seguente viene verificato se l'utente corrente è membro di un ruolo di database oppure di un gruppo di domini di 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
Vedere anche
Riferimento
IS_SRVROLEMEMBER (Transact-SQL)
Viste del catalogo relative alla protezione (Transact-SQL)
sp_addrolemember (Transact-SQL)
sp_addsrvrolemember (Transact-SQL)
sp_droprolemember (Transact-SQL)
sp_dropsrvrolemember (Transact-SQL)