DATABASE_PRINCIPAL_ID (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Esta función devuelve el número de Id. de una entidad de seguridad de la base de datos actual. Consulte Entidades de seguridad (Motor de base de datos) para obtener más información sobre las entidades de seguridad.

Convenciones de sintaxis de Transact-SQL

Sintaxis

DATABASE_PRINCIPAL_ID ( 'principal_name' )  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

principal_name
Una expresión de tipo sysname que representa la entidad de seguridad. Si se omite principal_name, DATABASE_PRINCIPAL_ID devuelve el identificador del usuario actual. DATABASE_PRINCIPAL_ID requiere los paréntesis.

Tipos de valores devueltos

int
NULL si la entidad de seguridad de base de datos no existe.

Comentarios

Use DATABASE_PRINCIPAL_ID en una lista de selección, en una cláusula WHERE o en cualquier lugar que permita una expresión. Para obtener más información, consulte Expresiones (Transact-SQL).

Ejemplos

A. Recuperar el Id. del usuario actual

En este ejemplo se devuelve el identificador de la entidad de seguridad de base de datos del usuario actual.

SELECT DATABASE_PRINCIPAL_ID();  
GO  

B. Recuperar el Id. de la entidad de seguridad de base de datos especificada

En este ejemplo se devuelve el identificador de la entidad de seguridad de base de datos del rol de base de datos db_owner.

SELECT DATABASE_PRINCIPAL_ID('db_owner');  
GO  

Consulte también

Entidades de seguridad (motor de base de datos)
Jerarquía de permisos (motor de base de datos)
sys.database_principals (Transact-SQL)