Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Ponto de extremidade de análise de SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Banco de dados SQL no Microsoft Fabric Preview
Retorna o nome de logon associado a um número de identificação de segurança (SID).
Convenções de sintaxe de Transact-SQL
Sintaxe
SUSER_SNAME ( [ server_user_sid ] )
Argumentos
server_user_sid
O número opcional de identificação de segurança do logon.
server_user_sid é varbinary(85).
server_user_sid pode ser o número de identificação de segurança de qualquer logon do SQL Server, ou usuário ou grupo do Windows Microsoft. Consulte a coluna sid nas exibições de catálogo sys.server_principals ou sys.sql_logins. Se server_user_sid não estiver especificado, serão retornadas informações sobre o usuário atual. Se o parâmetro contiver a palavra NULL, SUSER_SNAME retornará NULL.
server_user_sid não tem suporte no Banco de Dados SQL do Azure ou no Banco de Dados SQL no Microsoft Fabric Preview.
Tipo de retorno
nvarchar(128)
Comentários
SUSER_SNAME pode ser usado como uma DEFAULT restrição em um ALTER TABLE ou CREATE TABLE.
SUSER_SNAME pode ser usado em uma lista de seleção, em uma WHERE cláusula e em qualquer lugar em que uma expressão é permitida.
SUSER_SNAME deve ser sempre seguido de parênteses, mesmo que nenhum parâmetro seja especificado.
Quando chamado sem um argumento, SUSER_SNAME retorna o nome do contexto de segurança atual. Quando chamado sem um argumento em um lote que alternou o contexto usando EXECUTE AS, SUSER_SNAME retorna o nome do contexto representado. Quando chamado de um contexto representado, ORIGINAL_LOGIN retorna o nome do contexto original.
Comentários sobre o Banco de Dados SQL do Azure, o Banco de Dados SQL no Fabric
SUSER_SNAME sempre retorna o nome de logon do contexto de segurança atual.
A SUSER_SNAME instrução não dá suporte à execução usando um contexto de segurança representado por meio EXECUTE ASde .
SUSER_SNAME não dá suporte ao argumento server_user_id.
Exemplos
a. Usar SUSER_SNAME
O exemplo a seguir retorna o nome de logon para o contexto de segurança atual.
SELECT SUSER_SNAME();
GO
B. Usar SUSER_SNAME com um ID de segurança de usuário do Windows
O exemplo seguinte retorna o nome de logon associado a um número de identificação de segurança do Windows.
SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO
C. Usar SUSER_SNAME como uma restrição DEFAULT
O exemplo a seguir usa SUSER_SNAME como uma DEFAULT restrição em uma CREATE TABLE instrução.
USE AdventureWorks2022;
GO
CREATE TABLE sname_example (
login_sname SYSNAME DEFAULT SUSER_SNAME(),
employee_id UNIQUEIDENTIFIER DEFAULT NEWID(),
login_date DATETIME DEFAULT GETDATE()
);
GO
INSERT sname_example DEFAULT
VALUES;
GO
D. Chamar SUSER_SNAME com EXECUTE AS
Este exemplo mostra o comportamento de SUSER_SNAME quando chamado por meio de um contexto representado.
SELECT SUSER_SNAME();
GO
EXECUTE AS LOGIN = 'WanidaBenShoof';
SELECT SUSER_SNAME();
REVERT;
GO
SELECT SUSER_SNAME();
GO
Este é o conjunto de resultados.
sa
WanidaBenShoof
sa
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
E. Usar SUSER_SNAME
O exemplo seguinte retorna o nome de logon do número de identificação de segurança com um valor de 0x01.
SELECT SUSER_SNAME(0x01);
GO
F. Retornar o logon atual
O exemplo a seguir retorna o nome de logon do logon atual.
SELECT SUSER_SNAME() AS CurrentLogin;
GO