SUSER_SNAME (Transact-SQL)

Retorna o nome de logon associado a um número de identificação de segurança (SID).

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

SUSER_SNAME ( [ server_user_sid ] ) 

Argumentos

  • server_user_sid
    É o número de identificação de segurança do logon. server_user_sid, que é opcional, é 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. Se o server_user_sid não for especificado, serão retornadas informações sobre o usuário atual. Se o parâmetro contiver a palavra NULL, retornará NULL.

Tipos de retorno

nvarchar(128)

Comentários

SUSER_SNAME pode ser usado como uma restrição DEFAULT em ALTER TABLE ou CREATE TABLE. SUSER_SNAME pode ser usado em uma lista de seleção, em uma cláusula WHERE e em qualquer lugar em que uma expressão for permitida. SUSER_SNAME sempre deve ser seguido de parênteses, ainda 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.

Exemplos

A.Usando 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

B.Usando SUSER_SNAME com um identificador 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.Usando SUSER_SNAME como uma restrição DEFAULT

O exemplo a seguir usa SUSER_SNAME como uma restrição DEFAULT em uma instrução CREATE TABLE.

USE AdventureWorks2012;
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.Chamando SUSER_SNAME em combinação com EXECUTE AS

Este exemplo mostra o comportamento de SUSER_SNAME quando chamado de um contexto representado.

SELECT SUSER_SNAME();
GO
EXECUTE AS LOGIN = 'WanidaBenShoof';
SELECT SUSER_SNAME();
REVERT;
GO
SELECT SUSER_SNAME();
GO

Este é o resultado.

sa

WanidaBenShoof

sa

Consulte também

Referência

SUSER_SID (Transact-SQL)

sys.server_principals (Transact-SQL)

Conceitos

Entidades (Mecanismo de Banco de Dados)