USER_ID (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Devuelve el número de identificación para un usuario de la base de datos.

Importante

Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. En su lugar, use DATABASE_PRINCIPAL_ID.

Convenciones de sintaxis de Transact-SQL

Sintaxis

USER_ID ( [ 'user' ] )  

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

user
Es el nombre de usuario que se va a emplear. user es nchar. Si se especifica un valor char, se convierte implícitamente en nchar. Es obligatorio utilizar paréntesis.

Tipos de valor devuelto

int

Observaciones

Cuando user se omite, se da por supuesto que es el usuario actual. Si el parámetro contiene la palabra NULL, devolverá NULL. Cuando se llama a USER_ID después de EXECUTE AS, USER_ID devuelve el identificador del contexto suplantado.

Cuando una entidad de seguridad de Windows que no se ha asignado a un usuario específico de base de datos tiene acceso a una base de datos en forma de pertenencia a un grupo, USER_ID devuelve 0 (el identificador de público). Si este tipo de entidad de seguridad crea un objeto sin especificar un esquema, SQL Server creará un usuario implícito y un esquema asignados a dicha entidad. El usuario creado en casos como éste no se puede utilizar para conectarse a la base de datos. Las llamadas a USER_ID efectuadas por la entidad de seguridad de Windows asignada a un usuario implícito devolverán el identificador de éste.

Se puede utilizar USER_ID en una lista de selección, en una cláusula WHERE y en cualquier lugar en el que se permita una expresión. Para más información, consulte Expresiones (Transact-SQL).

Ejemplos

En el ejemplo siguiente se devuelve el número de identificación para el usuario AdventureWorks2022 de Harold.

USE AdventureWorks2022;  
SELECT USER_ID('Harold');  
GO  

Vea también

USER_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABASE_PRINCIPAL_ID (Transact-SQL)
Funciones de seguridad (Transact-SQL)