USER_ID(Transact-SQL)
데이터베이스 사용자의 ID를 반환합니다.
중요 |
---|
Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 DATABASE_PRINCIPAL_ID를 사용하십시오. |
구문
USER_ID ( [ 'user' ] )
인수
- 'user'
사용할 사용자 이름입니다. user는 nchar입니다. char 값을 지정하면 암시적으로 nchar로 변환됩니다. 괄호가 필요합니다.
반환 형식
int
주의
user를 생략하면 현재 사용자가 대신 사용됩니다. EXECUTE AS를 호출한 후 USER_ID를 호출하면 가장된 컨텍스트의 ID가 반환됩니다.
특정 데이터베이스 사용자에 매핑되지 않은 Windows 보안 주체가 그룹 멤버 자격으로 데이터베이스에 액세스하면 USER_ID가 0(public의 ID)을 반환합니다. 이러한 보안 주체가 스키마를 지정하지 않고 개체를 만들면 SQL Server에서 해당 Windows 보안 주체에 매핑되는 암시적 사용자와 스키마를 생성합니다. 이렇게 생성된 사용자는 데이터베이스 연결에 사용할 수 없습니다. 암시적 사용자에 매핑되는 Windows 보안 주체로 USER_ID를 호출하면 암시적 사용자의 ID가 반환됩니다.
USER_ID는 SELECT 목록, WHERE 절 및 식을 사용할 수 있는 곳이면 어디에서나 사용할 수 있습니다. 자세한 내용은 식(Transact-SQL)을 참조하십시오.
예
다음 예에서는 AdventureWorks 사용자인 Harold의 ID를 반환합니다.
USE AdventureWorks;
SELECT USER_ID('Harold');
GO