SQL Server에서 USER_NAME 함수는 데이터베이스 작업 시 현재 사용자 또는 특정 ID에 해당하는 사용자 이름을 확인할 때 유용하게 활용됩니다. 이 글에서는 USER_NAME 함수의 개념과 기본 구문, 주요 매개변수, 그리고 실전 예제까지 자세히 살펴보겠습니다.
USER_NAME 함수란?
SQL Server의 USER_NAME 함수는 전달된 ID에 해당하는 데이터베이스 사용자 이름(username)을 반환합니다. 만약 ID를 지정하지 않으면, 현재 접속 중인 사용자의 이름을 기본값으로 반환합니다.
이 함수는 보안 감사 로그를 남기거나, 세션별 사용자 정보를 조회하고, 동적 SQL 내에서 실행 주체를 확인하는 등 다양한 상황에서 활용할 수 있습니다.
구문(Syntax)
SQL Server에서 USER_NAME 함수를 사용하는 기본 구문은 다음과 같습니다.
USER_NAME([id_number])
매개변수
- id_number: SQL Server에서 해당 사용자와 연결된 ID 번호입니다.
참고 사항
- ID 값을 인자로 전달하면, USER_NAME은 그 ID에 대응되는 사용자 이름을 반환합니다.
- ID를 지정하지 않으면, 현재 SQL Server 세션의 사용자 이름을 반환합니다.
- 유사한 기능을 하는 CURRENT_USER, SYSTEM_USER, SESSION_USER 함수도 함께 참고하면 좋습니다.
- USER_NAME 함수는 SQL Server 2017, 2016, 2014, 2012, 2008 R2, 2008, 2005 버전 이상에서 모두 사용할 수 있습니다.
사용 예제
실제 예제를 통해 USER_NAME 함수의 활용 방법을 살펴보겠습니다.
예제 1: 인자 없이 호출하여 현재 사용자 이름 조회하기
SELECT USER_NAME();
-- 결과: 'quantrimang'
ID를 지정하지 않았으므로, 현재 세션에 로그인된 사용자의 이름이 반환됩니다.
예제 2: 특정 ID에 해당하는 사용자 이름 조회하기
SELECT USER_NAME(12);
-- 결과: 'jsmith'
ID가 12인 사용자의 이름 'jsmith'가 반환되는 것을 확인할 수 있습니다.
이처럼 USER_NAME 함수는 간단한 구문으로 사용자 정보를 손쉽게 조회할 수 있어, 권한 관리나 감사 작업 시 매우 유용합니다.