IS_MEMBER(Transact-SQL)
현재 사용자가 지정된 Microsoft Windows 그룹 또는 Microsoft SQL Server 데이터베이스 역할의 멤버인지 여부를 표시합니다.
구문
IS_MEMBER ( { 'group' | 'role' } )
인수
- 'group'
검사할 Windows 그룹의 이름으로 Domain\Group 형식이어야 합니다. group은 sysname입니다.
- 'role'
검사할 SQL Server 역할의 이름입니다. role은 sysname이며 데이터베이스 고정 역할이나 사용자 정의 역할은 포함할 수 있으나 서버 역할은 포함할 수 없습니다.
반환 유형
int
주의
IS_MEMBER는 다음과 같은 값을 반환합니다.
반환 값 | 설명 |
---|---|
0 |
현재 사용자가 group 또는 role의 멤버가 아닙니다. |
1 |
현재 사용자가 group 또는 role의 멤버입니다. |
NULL |
group 또는 role이 잘못되었습니다. |
IS_MEMBER는 Windows에서 만든 액세스 토큰을 검사하여 Windows 그룹 멤버를 결정합니다. 액세스 토큰은 사용자가 SQL Server 인스턴스에 연결한 후에 변경된 그룹 멤버 변경 내용을 반영하지 않습니다.
예
다음 예에서는 현재 사용자가 데이터베이스 역할 또는 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
참고 항목
참조
IS_SRVROLEMEMBER(Transact-SQL)
보안 카탈로그 뷰(Transact-SQL)
sp_addrolemember(Transact-SQL)
sp_addsrvrolemember(Transact-SQL)
sp_droprolemember(Transact-SQL)
sp_dropsrvrolemember(Transact-SQL)