IS_MEMBER (Transact-SQL)
Indique si l'utilisateur actuel est membre du groupe Microsoft Windows ou du rôle de base de données Microsoft SQL Server spécifié.
Conventions de la syntaxe de Transact-SQL
Syntaxe
IS_MEMBER ( { 'group' | 'role' } )
Arguments
- 'group'
Nom du groupe Windows en cours de vérification ; doit respecter le format Domain\Group. group est de type sysname.
- 'role'
Nom du rôle SQL Server en cours de vérification. role est de type sysname et peut comprendre les rôles de base de données fixes ou les rôles définis par l'utilisateur, mais pas les rôles de serveur.
Notes
IS_MEMBER retourne les valeurs suivantes.
Valeur de retour | Description |
---|---|
0 |
L'utilisateur actuel n'est membre ni du group ni du role. |
1 |
L'utilisateur actuel est membre du group ou du role. |
NULL |
Soit group soit role est incorrect. |
IS_MEMBER détermine l'appartenance au groupe Windows en examinant un jeton d'accès créé par Windows. Le jeton d'accès ne reflète pas les modifications apportées à l'appartenance au groupe après la connexion d'un utilisateur à une instance de SQL Server.
Types de retour
int
Exemple
L'exemple suivant vérifie si l'utilisateur actuel est membre d'un rôle de base de données ou d'un groupe de domaines 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
Voir aussi
Référence
IS_SRVROLEMEMBER (Transact-SQL)
Vues de catalogue liées à la sécurité (Transact-SQL)
sp_addrolemember (Transact-SQL)
sp_addsrvrolemember (Transact-SQL)
sp_droprolemember (Transact-SQL)
sp_dropsrvrolemember (Transact-SQL)