Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma Analítica (PDW)
Ponto de extremidade de análise SQL no Microsoft Fabric
Warehouse no Microsoft Fabric
Banco de dados SQL no Microsoft Fabric Preview
Retorna o nome de login associado a um número de identificação de segurança (SID).
Transact-SQL convenções de sintaxe
Sintaxe
SUSER_SNAME ( [ server_user_sid ] )
Arguments
server_user_sid
O número de identificação de segurança de login opcional.
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 Microsoft Windows. Consulte a coluna ou sys.server_principalssys.sql_logins as sid exibições de catálogo. Se server_user_sid não for especificado, as informações sobre o usuário atual serão retornadas. Se o parâmetro contiver a palavra NULL, SUSER_SNAME retornará NULL.
server_user_sid não há suporte no Banco de Dados SQL do Azure ou no Banco de Dados SQL no Microsoft Fabric Preview.
Tipo de retorno
nvarchar(128)
Observações
SUSER_SNAMEpode ser usado como uma DEFAULT restrição em qualquer um ou CREATE TABLEALTER TABLE .
SUSER_SNAME pode ser usado em uma lista de seleção, em uma WHERE cláusula e em qualquer lugar onde uma expressão seja 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 dentro de um lote que mudou de 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 para o Banco de Dados SQL do Azure, banco de dados SQL no Fabric
SUSER_SNAME Sempre retorna o nome de login para o contexto de segurança atual.
A SUSER_SNAME instrução não suporta a execução usando um contexto de segurança representado através do EXECUTE AS.
SUSER_SNAME não apoia o argumento server_user_id .
Examples
A. Utilizar SUSER_SNAME
O exemplo a seguir retorna o nome de login para o contexto de segurança atual.
SELECT SUSER_SNAME();
GO
B. Utilizar SUSER_SNAME com um ID de segurança de utilizador do Windows
O exemplo a seguir 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. Ligue SUSER_SNAME em combinação com EXECUTE AS
Este exemplo mostra o comportamento de SUSER_SNAME quando chamado a partir de um contexto representado.
SELECT SUSER_SNAME();
GO
EXECUTE AS LOGIN = 'WanidaBenShoof';
SELECT SUSER_SNAME();
REVERT;
GO
SELECT SUSER_SNAME();
GO
Eis o resultado.
sa
WanidaBenShoof
sa
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
E. Utilizar SUSER_SNAME
O exemplo a seguir retorna o nome de login para o número de identificação de segurança com um valor de 0x01.
SELECT SUSER_SNAME(0x01);
GO
F. Retornar o login atual
O exemplo a seguir retorna o nome de login do logon atual.
SELECT SUSER_SNAME() AS CurrentLogin;
GO
Conteúdo relacionado
- SUSER_SID (Transact-SQL)
- Entidades de (Mecanismo de Banco de Dados)
- sys.server_principals (Transact-SQL)
- EXECUTAR COMO (Transact-SQL)