확장 최소화
이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

USER_NAME(Transact-SQL)

지정된 ID 번호에서 데이터베이스 사용자 이름을 반환합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙


USER_NAME ( [ id ] )
id

데이터베이스 사용자와 연결된 ID 번호입니다. idint입니다. 괄호가 필요합니다.

nvarchar(128)

id를 생략하면 현재 컨텍스트의 현재 사용자로 가정하여 지정됩니다. EXECUTE AS 문 다음에 id를 지정하지 않고 USER_NAME을 호출하면 USER_NAME은 가장된 사용자의 이름을 반환합니다. Windows 보안 주체가 그룹 멤버 자격으로 데이터베이스에 액세스하는 경우 USER_NAME은 그룹 이름 대신 Windows 보안 주체의 이름을 반환합니다.

1. USER_NAME 사용

다음 예에서는 사용자 ID 13에 대한 사용자 이름을 반환합니다.

SELECT USER_NAME(13);
GO

2. ID 없이 USER_NAME 사용

다음 예에서는 ID를 지정하지 않고 현재 사용자의 이름을 찾습니다.

SELECT USER_NAME();
GO

sysadmin 고정 서버 역할의 멤버인 사용자의 경우 결과 집합은 다음과 같습니다.

------------------------------ 
dbo                            

(1 row(s) affected)

3. WHERE 절에서 USER_NAME 사용

다음 예에서는 sysusers에서 USER_NAME 시스템 함수를 사용자 ID 번호 1에 적용하는 결과와 이름이 동일한 행을 찾습니다.

SELECT name FROM sysusers WHERE name = USER_NAME(1);
GO

결과 집합은 다음과 같습니다.

name                           
------------------------------ 
dbo                            

(1 row(s) affected)

4. EXECUTE AS로 가장하는 동안 USER_NAME 호출

다음 예에서는 가장이 진행되는 동안의 USER_NAME 작동 방식을 보여 줍니다.

SELECT USER_NAME();
GO
EXECUTE AS USER = 'Zelig';
GO
SELECT USER_NAME();
GO
REVERT;
GO
SELECT USER_NAME();
GO

결과 집합은 다음과 같습니다.

DBO
Zelig
DBO
이 정보가 도움이 되었습니까?
(1500자 남음)

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
© 2013 Microsoft. All rights reserved.