IS_SRVROLEMEMBER (Transact-SQL)

Indique si une connexion SQL Server 2005 appartient au rôle de serveur fixe spécifié.

Icône Lien de rubriqueConventions de syntaxe de Transact-SQL

Syntaxe

IS_SRVROLEMEMBER ('role' [ , 'login' ] )

Arguments

  • 'role'
    Nom du rôle de serveur vérifié. L'argument role est de type sysname.

    Les valeurs valides pour role sont les suivantes :

    sysadmin

    • dbcreator
    • bulkadmin
    • diskadmin
    • processadmin
    • serveradmin
    • setupadmin
    • securityadmin
  • 'login'
    Nom de la connexion SQL Server 2005 à vérifier. L'argument login est de type sysname et NULL est la valeur par défaut. Si aucune valeur n'est indiquée, la connexion SQL Server de l'utilisateur actuel est utilisée.

Notes

IS_SRVROLEMEMBER retourne les valeurs suivantes :

Valeur retournée Description

0

login n'est pas membre de role.

1

login est membre de role.

NULL

role ou login est incorrect.

Utilisez cette fonction pour déterminer si l'utilisateur actuel peut réaliser une action nécessitant les autorisations du rôle de serveur.

Si une connexion Microsoft Windows, telle que London\JoeB, est spécifiée pour login, IS_SRVROLEMEMBER retourne la valeur NULL, à moins de s'être vu attribuer ou refuser l'accès direct à SQL Server 2005.

Si cette connexion est un domaine Windows, il peut s'agir d'un membre du rôle de serveur fixe par le biais d'une appartenance à un groupe Windows. Pour résoudre de telles appartenances indirectes, IS_SRVROLEMEMBER demande des informations sur l'appartenance au groupe Windows à partir du contrôleur du domaine. Si le contrôleur du domaine est inaccessible ou ne répond pas, IS_SRVROLEMEMBER retourne des informations sur l'appartenance au rôle, en prenant uniquement en considération l'utilisateur et ses groupes locaux.

Types de retour

int

Exemple

L'exemple suivant indique si la connexion SQL Server pour l'utilisateur actuel est membre du rôle de serveur fixe sysadmin.

IF IS_SRVROLEMEMBER ('sysadmin') = 1
   print 'Current user''s login is a member of the sysadmin role'
ELSE IF IS_SRVROLEMEMBER ('sysadmin') = 0
   print 'Current user''s login is NOT a member of the sysadmin role'
ELSE IF IS_SRVROLEMEMBER ('sysadmin') IS NULL
   print 'ERROR: The server role specified is not valid.'

Voir aussi

Référence

IS_MEMBER (Transact-SQL)
Fonctions de sécurité (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005