USER_NAME(Transact-SQL)

적용 대상: 예SQL Server(지원되는 모든 버전) 예Azure SQL Database 예Azure SQL Managed Instance 예Azure Synapse Analytics 예병렬 데이터 웨어하우스

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

문서 링크 아이콘 Transact-SQL 구문 규칙

구문

USER_NAME ( [ id ] )  

참고

SQL Server 2014 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.

인수

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

반환 형식

nvarchar(128)

설명

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

참고

USER_NAME 함수는 Azure SQL Database에서 지원되지만, Azure SQL Database에서 USER_NAME과 함께 Execute as 를 사용할 수는 없습니다.

예제

A. USER_NAME 사용

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

SELECT USER_NAME(13);  
GO  

B. ID 없이 USER_NAME 사용

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

SELECT USER_NAME();  
GO  

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

------------------------------  
dbo  
 
(1 row(s) affected)

C. WHERE 절에서 USER_NAME 사용

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

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

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

name  
------------------------------  
dbo  
 
(1 row(s) affected)

D. 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

예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)

E. ID 없이 USER_NAME 사용

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

SELECT USER_NAME();  

현재 로그인한 사용자에 대한 결과 집합입니다.

------------------------------   
User7                              

F. WHERE 절에서 USER_NAME 사용

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

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

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

name                             
------------------------------   
User7                              

참고 항목

ALTER TABLE(Transact-SQL)
CREATE TABLE(Transact-SQL)
CURRENT_TIMESTAMP (Transact-SQL)
CURRENT_USER (Transact-SQL)
SESSION_USER (Transact-SQL)
시스템 함수(Transact-SQL)
SYSTEM_USER (Transact-SQL)