Skip to content

Latest commit

 

History

History
80 lines (65 loc) · 2.84 KB

File metadata and controls

80 lines (65 loc) · 2.84 KB
title DATABASE_PRINCIPAL_ID (Transact-SQL) | Microsoft Docs
ms.custom
ms.date 07/29/2017
ms.prod sql
ms.prod_service database-engine, sql-database
ms.service
ms.component t-sql|functions
ms.reviewer
ms.suite sql
ms.technology
database-engine
ms.tgt_pltfrm
ms.topic language-reference
f1_keywords
DATABASE_PRINCIPAL_ID_TSQL
DATABASE_PRINCIPAL_ID
dev_langs
TSQL
helpviewer_keywords
identification numbers [SQL Server], principals
principal ID numbers [SQL Server]
DATABASE_PRINCIPAL_ID function
IDs [SQL Server], principals
ms.assetid 908c7dd8-c10b-4658-92f6-0224f9835dd9
caps.latest.revision 28
author edmacauley
ms.author edmaca
manager craigg
ms.workload Inactive

DATABASE_PRINCIPAL_ID (Transact-SQL)

[!INCLUDEtsql-appliesto-ss2008-asdb-xxxx-xxx-md]

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

Syntax

DATABASE_PRINCIPAL_ID ( 'principal_name' )  

Arguments

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.

Return types

int
NULL when the database principal does not exist

Remarks

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).

Examples

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  

See also

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