DATABASE_PRINCIPAL_ID (Transact-SQL)

DATABASE_PRINCIPAL_ID (Transact-SQL)

 

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Returns the ID number of a principal in the current database. For more information about principals, see Principals (Database Engine).

Topic link icon Transact-SQL Syntax Conventions

  
DATABASE_PRINCIPAL_ID ( 'principal_name' )  

principal_name
Is an expression of type sysname that represents the principal.

When principal_name is omitted, the ID of the current user is returned. The parentheses are required.

int

NULL when the database principal does not exist

DATABASE_PRINCIPAL_ID can be used in a select list, a WHERE clause, or anywhere an expression is allowed. For more information, see Expressions (Transact-SQL).

A. Retrieving the ID of the current user

The following example returns the database principal ID of the current user.

SELECT DATABASE_PRINCIPAL_ID();  
GO  

B. Retrieving the ID of a specified database principal

The following example returns the database principal ID for the database role db_owner.

SELECT DATABASE_PRINCIPAL_ID('db_owner');  
GO  

Principals (Database Engine)
Permissions Hierarchy (Database Engine)
sys.database_principals (Transact-SQL)

Community Additions

ADD
Show:
© 2016 Microsoft