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
Base de Dados SQL do Azure
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics endpoint em Microsoft Fabric
Warehouse em Microsoft Fabric
SQL database em Microsoft Fabric
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 sidsys.server_principals as sys.sql_logins 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 é suportado em bases de Base de Dados SQL do Azure ou SQL em Microsoft Fabric.
Tipo de retorno
nvarchar(128)
Observações
SUSER_SNAMEpode ser usado como uma DEFAULT restrição em qualquer um ou ALTER TABLECREATE 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. Use SUSER_SNAME como DEFAULT restrição
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 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)
- EXECUTE AS (Transact-SQL)