Eventos
31 de mar., 23 - 2 de abr., 23
O maior evento de aprendizado de SQL, Fabric e Power BI. 31 de março a 2 de abril. Use o código FABINSIDER para economizar $ 400.
Registre-se hoje mesmoNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Aplica-se a: SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
PDW (Analytics Platform System)
Ponto de extremidade de análise do SQL
Warehouse no Microsoft Fabric
Retorna um nome de usuário do banco de dados a partir de um número de identificação especificado ou o nome de usuário atual.
Convenções de sintaxe de Transact-SQL
USER_NAME ( [ ID ] )
O número de identificação associado a um usuário de banco de dados, conforme listado em sys.database_principals. ID é int. Os parênteses são necessários.
nvarchar(128)
Quando ID é omitido, o usuário atual no contexto atual é assumido. Se o parâmetro contiver a palavra NULL
, USER_NAME
retornará NULL
. Quando USER_NAME
é chamado sem especificar um ID após uma instrução EXECUTE AS
, USER_NAME
retorna o nome do usuário impessoal. 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.
Embora a função USER_NAME()
tenha suporte no Banco de Dados SQL do Azure, não há suporte para o uso de EXECUTE AS USER = USER_NAME(n)
no Banco de Dados SQL do Azure.
O exemplo a seguir retorna o nome de usuário do ID de usuário 13
, conforme listado em sys.database_principals.
SELECT USER_NAME(13);
GO
O exemplo a seguir localiza o nome do usuário atual sem especificar um 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
O exemplo a seguir localiza a linha em sys.database_principals
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 sys.database_principals WHERE name = USER_NAME(1);
GO
Veja a seguir o conjunto de resultados.
name
------------------------------
dbo
(1 row(s) affected)
O exemplo a seguir mostra como USER_NAME
se comporta durante representação.
EXECUTE AS
não é atualmente compatível com o Microsoft Fabric.
Cuidado
Ao testar com EXECUTE AS
, sempre crie um script REVERT
para seguir.
SELECT USER_NAME();
GO
EXECUTE AS USER = 'Zelig';
GO
SELECT USER_NAME();
GO
REVERT;
GO
SELECT USER_NAME();
GO
Veja a seguir o conjunto de resultados.
-------------
dbo
-------------
Zelig
-------------
dbo
O exemplo a seguir localiza o nome do usuário atual sem especificar um ID.
SELECT USER_NAME();
Este é o conjunto de resultados para um usuário conectado no momento.
User7
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);
Veja a seguir o conjunto de resultados.
name
------------------------------
User7
Eventos
31 de mar., 23 - 2 de abr., 23
O maior evento de aprendizado de SQL, Fabric e Power BI. 31 de março a 2 de abril. Use o código FABINSIDER para economizar $ 400.
Registre-se hoje mesmo