USER_ID (Transact-SQL)USER_ID (Transact-SQL)

SE APLICA A: síSQL Server (a partir de 2008) síAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Devuelve el número de identificación para un usuario de la base de datos.Returns the identification number for a database user.

Importante

Esta característica está en modo de mantenimiento y es posible que no se incluya en una versión futura de Microsoft SQL Server.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use DATABASE_PRINCIPAL_ID en su lugar.Use DATABASE_PRINCIPAL_ID instead.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

  
USER_ID ( [ 'user' ] )  

ArgumentosArguments

useruser
Es el nombre de usuario que se va a emplear.Is the username to be used. user es nchar.user is nchar. Si se especifica un valor char, se convierte implícitamente en nchar.If a char value is specified, it is implicitly converted to nchar. Es obligatorio utilizar paréntesis.The parentheses are required.

Tipos devueltosReturn Types

intint

NotasRemarks

Cuando user se omite, se da por supuesto que es el usuario actual.When user is omitted, the current user is assumed. 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.If the parameter contains the word NULL will return NULL.When USER_ID is called after EXECUTE AS, USER_ID will return the ID of the impersonated context.

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).When a Windows principal that is not mapped to a specific database user accesses a database by way of membership in a group, USER_ID returns 0 (the ID of public). Si este tipo de entidad de seguridad crea un objeto sin especificar un esquema, SQL ServerSQL Server creará un usuario implícito y un esquema asignados a dicha entidad.If such a principal creates an object without specifying a schema, SQL ServerSQL Server will create an implicit user and schema mapped to the Windows principal. El usuario creado en casos como éste no se puede utilizar para conectarse a la base de datos.The user created in such cases cannot be used to connect to the database. 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.Calls to USER_ID by a Windows principal mapped to an implicit user will return the ID of the implicit user.

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.USER_ID can be used in a select list, in a WHERE clause, and anywhere an expression is allowed. Para obtener más información, vea Expresiones (Transact-SQL).For more information, see Expressions (Transact-SQL).

EjemplosExamples

En el ejemplo siguiente se devuelve el número de identificación para el usuario AdventureWorks2012 de Harold.The following example returns the identification number for the AdventureWorks2012 user Harold.

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

Consulte tambiénSee Also

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