Поделиться через


SUSER_SNAME (Transact-SQL)

Возвращает имя входа, связанное с идентификатором безопасности (SID).

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

SUSER_SNAME ( [ server_user_sid ] ) 

Аргументы

  • server_user_sid
    Номер идентификатора безопасности имени входа. Необязательный аргумент server_user_sid имеет тип varbinary(85). Аргумент server_user_sid может быть номером идентификатора безопасности любого имени входа SQL Server, пользователя или группы Microsoft Windows. Если аргумент server_user_sid не указан, будут возвращены сведения о текущем пользователе.

Типы возвращаемых данных

nvarchar(128)

Замечания

Функция SUSER_SNAME может применяться как ограничение DEFAULT в инструкциях ALTER TABLE и CREATE TABLE. Функция SUSER_SNAME может применяться в списке выбора, в предложении WHERE и в выражении, где это допустимо. За функцией SUSER_SNAME всегда должны следовать круглые скобки, даже если не указано никаких параметров.

При вызове без аргумента функция SUSER_SNAME возвращает название текущего контекста безопасности. При вызове без аргумента в пределах пакета, который переключил контекст с помощью EXECUTE AS, функция SUSER_SNAME возвращает название олицетворенного контекста. При вызове из олицетворенного контекста функция ORIGINAL_LOGIN возвращает название оригинального контекста.

Примеры

А. Использование функции SUSER_SNAME

Следующий пример возвращает имя входа для номера идентификатора безопасности со значением 0x01.

SELECT SUSER_SNAME(0x01);
GO

Б. Использование функции SUSER_SNAME с идентификатором безопасности пользователя Windows

Следующий пример возвращает имя входа, связанное с номером идентификатора безопасности Windows.

SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO

В. Использование функции SUSER_SNAME в качестве ограничения DEFAULT

Следующий пример использует функцию SUSER_SNAME в качестве ограничения DEFAULT в инструкции CREATE TABLE.

USE AdventureWorks;
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

Г. Вызов функции SUSER_SNAME в сочетании с EXECUTE AS

Этот пример показывает поведение функции SUSER_SNAME при вызове из олицетворенного контекста.

SELECT SUSER_SNAME();

GO

EXECUTE AS LOGIN = 'WanidaBenShoof';

SELECT SUSER_SNAME();

REVERT;

GO

SELECT SUSER_SNAME();

GO

Ниже приводится результат.

sa

WanidaBenShoof

sa