USER_ID (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure 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' ] )
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)