Partilhar via


USER_NAME (Transact-SQL)

Retorna um nome de usuário de banco de dados de um número de identificação especificado.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

USER_NAME ( [ id ] )

Argumentos

  • id
    É o número de identificação associado a um usuário do banco de dados. id é int. Os parênteses são necessários.

Tipos de retorno

nvarchar(256)

Comentários

Quando id é omitido, o usuário atual no contexto atual é assumido. Quando USER_NAME é chamado sem especificar uma id depois de uma instrução EXECUTE AS, USER_NAME retorna o nome do usuário representado. Se um principal do Windows acessar o banco de dados por meio da associação em um grupo, USER_NAME retornará o principal do Windows em vez do grupo.

Exemplos

A. Usando USER_NAME

O exemplo a seguir retorna o nome de usuário para a ID de usuário 13.

SELECT USER_NAME(13);
GO

B. Usando USER_NAME sem uma ID

O exemplo a seguir localiza o nome do usuário atual sem especificar uma ID.

SELECT USER_NAME();
GO

Este é o conjunto de resultados para um usuário que é um membro da função de servidor fixa sysadmin.

------------------------------

dbo

(1 row(s) affected)

C. Usando USER_NAME na cláusula WHERE

O exemplo a seguir localiza a linha em sysusers na qual o nome é igual ao resultado da aplicação da função de sistema USER_NAME ao número de identificação de usuário 1.

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

Conjunto de resultados.

name

------------------------------

dbo

(1 row(s) affected)

D. Chamando USER_NAME durante a representação com EXECUTE AS

O exemplo a seguir mostra como USER_NAME se comporta durante a representação.

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

Conjunto de resultados.

DBO

Zelig

DBO