USER_ID (Transact-SQL)

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

Nota importanteImportante

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

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

USER_ID ( [ 'user' ] )

Argumentos

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

Tipos de valor devueltos

int

Notas

Cuando se omite user, se da por supuesto que es el usuario actual. 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 miembro de 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 obtener más información, vea Expresiones (Transact-SQL).

Ejemplos

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

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