Compartir a través de


DATABASE_PRINCIPAL_ID (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure 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' )  

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)