IS_SRVROLEMEMBER (Transact-SQL)

Indica si en el inicio de sesión de SQL Server 2005 el usuario es miembro de la función fija de servidor especificada.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

  • 'role'
    Es el nombre de la función de servidor que se va comprobar. role es de tipo sysname.

    Los valores válidos de role incluyen los siguientes:

    sysadmin

    • dbcreator
    • bulkadmin
    • diskadmin
    • processadmin
    • serveradmin
    • setupadmin
    • securityadmin
  • 'login'
    Es el nombre del inicio de sesión de SQL Server 2005 que se va a comprobar. login es de tipo sysname y su valor predeterminado es NULL. Si no se especifica ningún valor, se usa el inicio de sesión de SQL Server del usuario actual.

Tipos de valor devueltos

int

Notas

IS_SRVROLEMEMBER devuelve estos valores.

Valor devuelto Descripción

0

login no es miembro de role.

1

login es miembro de role.

NULL

role o login no es válido.

Esta función puede determinar si el usuario actual puede realizar una acción que necesite los permisos de la función de servidor.

Si se especifica un inicio de sesión de Microsoft Windows (como Barcelona\JuanB) para login, IS_SRVROLEMEMBER devuelve NULL a menos que se haya concedido o denegado el acceso directo a SQL Server 2005 al inicio de sesión.

Si se trata de un inicio de sesión de dominio de Windows, puede ser un miembro de la función fija de servidor mediante la pertenencia a un grupo de Windows. Para resolver estas pertenencias indirectas, IS_SRVROLEMEMBER solicita información sobre la pertenencia al grupo de Windows al controlador de dominio. Si no se puede tener acceso al controlador de dominio o no responde, IS_SRVROLEMEMBER devuelve información sobre la pertenencia a la función teniendo en cuenta únicamente el usuario y sus grupos locales.

Ejemplos

En el siguiente ejemplo se indica si el inicio de sesión de SQL Server para el usuario actual es miembro de la función fija de servidor 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.'

Vea también

Referencia

IS_MEMBER (Transact-SQL)
Funciones de seguridad (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005