USER_ID (Transact-SQL)
Devuelve el número de identificación de un usuario de la base de datos.
Importante: |
---|
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. 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 utilizar. user es de tipo nchar. Si se especifica un valor char, se convierte implícitamente en nchar. Es preciso utilizar los paréntesis.
Tipos de valor devueltos
int
Notas
Cuando se omite user, se asume que se trata del usuario actual. Cuando se llame a USER_ID después de EXECUTE AS, USER_ID devolverá el Id. del contexto representado.
Cuando una entidad de seguridad de Windows que no está asignada a un usuario de la base de datos específico obtiene acceso a una base de datos como miembro de un grupo, USER_ID devuelve 0 (el Id. de public). Si esa entidad de seguridad crea un objeto sin especificar un esquema, SQL Server creará un usuario implícito y un esquema asignado a la entidad de seguridad de Windows. El usuario creado en estos casos no se puede utilizar para conectarse a la base de datos. Las llamadas a USER_ID mediante una entidad de seguridad de Windows asignada a un usuario implícito devolverán el Id. del usuario implícito.
USER_ID se puede utilizar 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 siguiente ejemplo se devuelve el número de identificación del usuario Harold
de AdventureWorks
.
USE AdventureWorks;
SELECT USER_ID('Harold');
GO
Vea también
Referencia
USER_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABASE_PRINCIPAL_ID (Transact-SQL)
Funciones de seguridad (Transact-SQL)