IS_MEMBER (Transact-SQL)
Indica si el usuario actual es miembro del grupo de Microsoft Windows o de la función de base de datos de Microsoft SQL Server especificados.
Convenciones de sintaxis de Transact-SQL
Sintaxis
IS_MEMBER ( { 'group' | 'role' } )
Argumentos
- 'group'
Nombre del grupo de Windows que se está comprobando; su formato debe ser Dominio\Grupo. group es de tipo sysname.
- 'role'
Es el nombre de la función de SQL Server que se está comprobando; role es de tipo sysname y puede contener las funciones fijas de base de datos o funciones definidas por el usuario, pero no funciones de servidor.
Tipos de valor devueltos
int
Notas
IS_MEMBER devuelve los siguientes valores.
Valor devuelto | Descripción |
---|---|
0 |
El usuario actual no es miembro de los parámetros group ni role. |
1 |
El usuario actual es miembro de los parámetros group o role. |
NULL |
group o role no es válido. |
IS_MEMBER determina la pertenencia al grupo de Windows examinando un testigo de acceso creado por Windows. El testigo de acceso no refleja los cambios en la pertenencia a grupos que se realizan después de que un usuario se conecte a una instancia de SQL Server.
Ejemplos
El siguiente ejemplo comprueba si el usuario actual es miembro de una función de base de datos o de un grupo de dominio de 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
Vea también
Referencia
IS_SRVROLEMEMBER (Transact-SQL)
Vistas de catálogo de seguridad (Transact-SQL)
sp_addrolemember (Transact-SQL)
sp_addsrvrolemember (Transact-SQL)
sp_droprolemember (Transact-SQL)
sp_dropsrvrolemember (Transact-SQL)