IS_SRVROLEMEMBER(Transact-SQL)
SQL Server 2005 로그인이 지정된 고정 서버 역할의 멤버인지 여부를 나타냅니다.
구문
IS_SRVROLEMEMBER ('role' [ , 'login' ] )
인수
'role'
확인할 서버 역할의 이름입니다. role은 sysname입니다.role에 유효한 값은 다음과 같습니다.
sysadmin
- dbcreator
- bulkadmin
- diskadmin
- processadmin
- serveradmin
- setupadmin
- securityadmin
- 'login'
확인할 SQL Server 2005 로그인의 이름입니다. login은 sysname이며 기본값은 NULL입니다. 값을 지정하지 않으면 현재 사용자의 SQL Server 로그인이 사용됩니다.
주의
IS_SRVROLEMEMBER는 다음과 같은 값을 반환합니다.
반환 값 | 설명 |
---|---|
0 |
login은 role의 멤버가 아닙니다. |
1 |
login은 role의 멤버입니다. |
NULL |
role 또는 login이 잘못되었습니다. |
현재 사용자가 서버 역할의 사용 권한이 필요한 작업을 수행할 수 있는지 여부를 확인하려면 이 함수를 사용합니다.
London\JoeB와 같은 Microsoft Windows 로그인이 login에 지정되면 IS_SRVROLEMEMBER는 로그인이 SQL Server 2005에 대한 직접 액세스가 허용 또는 거부되지 않았다면 NULL을 반환합니다.
Windows 도메인 로그인의 경우 Windows 그룹 멤버 자격을 통해 고정 서버 역할의 멤버가 될 수 있습니다. 이러한 간접 멤버 자격을 확인하기 위해 IS_SRVROLEMEMBER는 도메인 컨트롤러에 Windows 그룹 멤버 자격 정보를 요청합니다. 도메인 컨트롤러에 액세스할 수 없거나 도메인 컨트롤러가 응답하지 않으면 IS_SRVROLEMEMBER은 사용자 및 사용자의 로컬 그룹만 고려하여 멤버 자격 정보를 반환합니다.
반환 형식
int
예
다음 예에서는 현재 사용자의 SQL Server 로그인이 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.'
참고 항목
참조
IS_MEMBER(Transact-SQL)
보안 함수(Transact-SQL)