다음을 통해 공유


USER_ID(Transact-SQL)

데이터베이스 사용자의 ID를 반환합니다.

중요 정보중요

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 DATABASE_PRINCIPAL_ID를 사용하십시오.

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

구문

USER_ID ( [ 'user' ] )

인수

  • user
    사용할 사용자 이름입니다. user는 nchar입니다. char 값을 지정하면 암시적으로 nchar로 변환됩니다. 괄호가 필요합니다.

반환 형식

int

주의

user를 생략하면 현재 사용자가 대신 사용됩니다. 매개 변수에 NULL이라는 단어가 포함되어 있으면 NULL이 반환됩니다. EXECUTE AS를 호출한 후 USER_ID를 호출하면 가장된 컨텍스트의 ID가 반환됩니다.

특정 데이터베이스 사용자에 매핑되지 않은 Windows 보안 주체가 그룹 멤버 자격으로 데이터베이스에 액세스하면 USER_ID가 0(public의 ID)을 반환합니다. 이러한 보안 주체가 스키마를 지정하지 않고 개체를 만들면 SQL Server에서 해당 Windows 보안 주체에 매핑되는 암시적 사용자와 스키마를 생성합니다. 이렇게 생성된 사용자는 데이터베이스 연결에 사용할 수 없습니다. 암시적 사용자에 매핑되는 Windows 보안 주체로 USER_ID를 호출하면 암시적 사용자의 ID가 반환됩니다.

USER_ID는 SELECT 목록, WHERE 절 및 식을 사용할 수 있는 곳이면 어디에서나 사용할 수 있습니다. 자세한 내용은 식(Transact-SQL)을 참조하십시오.

다음 예에서는 AdventureWorks2012 사용자인 Harold의 ID를 반환합니다.

USE AdventureWorks2012;
SELECT USER_ID('Harold');
GO

참고 항목

참조

USER_NAME(Transact-SQL)

sys.database_principals(Transact-SQL)

DATABASE_PRINCIPAL_ID(Transact-SQL)

보안 함수(Transact-SQL)