Udostępnij za pośrednictwem


IS_MEMBER (Transact-SQL)

Wskazuje, czy bieżący użytkownik element członkowski z określonym Microsoft Grupy systemu Windows lub SQL Server Rola bazy danych.

Topic link iconKonwencje składni języka Transact-SQL

IS_MEMBER ( { 'group' | 'role' } )

Argumenty

  • 'group'
    Is the name of the Windows group that is being checked; must be in the format Domain\Group.group is sysname.

  • 'role'
    Is the name of the SQL Server role that is being checked.role is sysname and can include the database fixed roles or user-defined roles, but not server roles.

Zwracane typy

int

Remarks

LoginName

Zwracanie wartości

Description

0

Bieżący użytkownik nie jest element członkowski z group lub role.

1

Bieżący użytkownik jest członkiem group lub role.

WARTOŚCI NULL

Albo group lub role nie jest prawidłowy. Gdy poszukiwanej przez SQL Server Identyfikator logowania lub nazwa logowania za pomocą rola aplikacji, zwraca wartość NULL dla grupy systemu Windows.

Czas, w którym zdarzenie uruchomiony, jeśli są dostępne.Token dostępu nie odzwierciedla zmiany w członkostwie grupy po użytkownik łączy się z wystąpienie SQL Server. Nie można zbadać członkostwa w grupach systemu Windows przez SQL Server Identyfikator logowania lub SQL Server Rola aplikacji.

Przykłady

W poniższym przykładzie pokazano sposób sprawdzenia, czy użytkownik jest członkiem roli bazy danych, czy grupy w domenie systemu 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