USER_NAME (Transact-SQL)USER_NAME (Transact-SQL)

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

Devuelve un nombre de usuario de base de datos a partir de un número de identificación especificado.Returns a database user name from a specified identification number.

Icono de vínculo a artículo Convenciones de sintaxis de Transact-SQLArticle link icon Transact-SQL Syntax Conventions

SintaxisSyntax

USER_NAME ( [ id ] )  

ArgumentosArguments

idid
Es el número de identificación asociado a un usuario de la base de datos.Is the identification number associated with a database user. id es int. Es obligatorio utilizar paréntesis.id is int. The parentheses are required.

Tipos devueltosReturn Types

nvarchar(256)nvarchar(256)

NotasRemarks

Cuando se omite id, se supone que se trata del usuario actual en el contexto actual.When id is omitted, the current user in the current context is assumed. Si el parámetro contiene la palabra NULL, se devolverá NULL.If the parameter contains the word NULL will return NULL. Cuando se llama a USER_NAME sin especificar un id después de una instrucción EXECUTE AS, USER_NAME devuelve el nombre del usuario representado.When USER_NAME is called without specifying an id after an EXECUTE AS statement, USER_NAME returns the name of the impersonated user. Si una entidad de seguridad de Windows ha tenido acceso a la base de datos en forma de miembro de un grupo, USER_NAME devuelve el nombre de la entidad de seguridad de Windows en vez del nombre del grupo.If a Windows principal accesses the database by way of membership in a group, USER_NAME returns the name of the Windows principal instead of the group.

EjemplosExamples

A.A. Usar USER_NAMEUsing USER_NAME

En el siguiente ejemplo se devuelve el nombre de usuario del Id. de usuario 13.The following example returns the user name for user ID 13.

SELECT USER_NAME(13);  
GO  

b.B. Usar USER_NAME sin un identificadorUsing USER_NAME without an ID

En el siguiente ejemplo se busca el nombre del usuario actual sin especificar un identificador.The following example finds the name of the current user without specifying an ID.

SELECT USER_NAME();  
GO  

Este es el conjunto de resultados para un usuario que pertenezca al rol fijo de servidor sysadmin.Here is the result set for a user that is a member of the sysadmin fixed server role.

------------------------------  
dbo  
 
(1 row(s) affected)

C.C. Usar USER_NAME en la cláusula WHEREUsing USER_NAME in the WHERE clause

En el siguiente ejemplo se busca la fila en sysusers en la que el nombre sea igual al resultado de aplicar la función del sistema USER_NAME al número de identificador de usuario 1.The following example finds the row in sysusers in which the name is equal to the result of applying the system function USER_NAME to user identification number 1.

SELECT name FROM sysusers WHERE name = USER_NAME(1);  
GO  

El conjunto de resultados es el siguiente.Here is the result set.

name  
------------------------------  
dbo  
 
(1 row(s) affected)

D.D. Llamar a USER_NAME durante la suplantación con EXECUTE ASCalling USER_NAME during impersonation with EXECUTE AS

En el siguiente ejemplo se muestra cómo se comporta USER_NAME durante la suplantación.The following example shows how USER_NAME behaves during impersonation.

SELECT USER_NAME();  
GO  
EXECUTE AS USER = 'Zelig';  
GO  
SELECT USER_NAME();  
GO  
REVERT;  
GO  
SELECT USER_NAME();  
GO  

El conjunto de resultados es el siguiente.Here is the result set.

DBO  
Zelig  
DBO

Ejemplos: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse y Almacenamiento de datos paralelosParallel Data WarehouseExamples: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse and Almacenamiento de datos paralelosParallel Data Warehouse

E.E. Usar USER_NAME sin un identificadorUsing USER_NAME without an ID

En el siguiente ejemplo se busca el nombre del usuario actual sin especificar un identificador.The following example finds the name of the current user without specifying an ID.

SELECT USER_NAME();  

Este es el conjunto de resultados para un usuario que tiene la sesión iniciada.Here is the result set for a currently logged-in user.

------------------------------   
User7                              

F.F. Usar USER_NAME en la cláusula WHEREUsing USER_NAME in the WHERE clause

En el siguiente ejemplo se busca la fila en sysusers en la que el nombre sea igual al resultado de aplicar la función del sistema USER_NAME al número de identificador de usuario 1.The following example finds the row in sysusers in which the name is equal to the result of applying the system function USER_NAME to user identification number 1.

SELECT name FROM sysusers WHERE name = USER_NAME(1);  

El conjunto de resultados es el siguiente.Here is the result set.

name                             
------------------------------   
User7                              

Consulte tambiénSee Also

ALTER TABLE (Transact-SQL) ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL) CREATE TABLE (Transact-SQL)
CURRENT_TIMESTAMP (Transact-SQL) CURRENT_TIMESTAMP (Transact-SQL)
CURRENT_USER (Transact-SQL) CURRENT_USER (Transact-SQL)
SESSION_USER (Transact-SQL) SESSION_USER (Transact-SQL)
Funciones del sistema (Transact-SQL) System Functions (Transact-SQL)
SYSTEM_USER (Transact-SQL)SYSTEM_USER (Transact-SQL)