다음을 통해 공유


DATABASE_PRINCIPAL_ID(Transact-SQL)

적용 대상: SQL ServerAzure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

이 함수는 현재 데이터베이스의 보안 주체 ID를 반환합니다. 보안 주체에 대한 자세한 내용은 보안 주체(데이터베이스 엔진)를 참조하세요.

Transact-SQL 구문 표기 규칙

Syntax

DATABASE_PRINCIPAL_ID ( 'principal_name' )  

참고 항목

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

인수

principal_name
보안 주체를 나타내는 sysname 형식의 식입니다. principal_name을 생략하면 DATABASE_PRINCIPAL_ID가 현재 사용자의 ID를 반환합니다. DATABASE_PRINCIPAL_ID에는 괄호가 필요합니다.

반환 형식

int
데이터베이스 보안 주체가 없는 경우 NULL입니다.

설명

DATABASE_PRINCIPAL_ID는 선택 목록, WHERE 절 또는 식을 허용하는 모든 위치에서 사용합니다. 자세한 내용은 식(Transact-SQL)을 참조하세요.

A. 현재 사용자의 ID 검색

이 예에서는 현재 사용자의 데이터베이스 보안 주체 ID를 반환합니다.

SELECT DATABASE_PRINCIPAL_ID();  
GO  

B. 지정한 데이터베이스 보안 주체의 ID 검색

이 예에서는 db_owner 데이터베이스 역할에 대한 데이터베이스 보안 주체 ID를 반환합니다.

SELECT DATABASE_PRINCIPAL_ID('db_owner');  
GO  

참고 항목

보안 주체(데이터베이스 엔진)
사용 권한 계층(데이터베이스 엔진)
sys.database_principals(Transact-SQL)