SUSER_SNAME (Transact-SQL)

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

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

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

Синтаксис

SUSER_SNAME ( [ server_user_sid ] ) 

Аргументы

  • server_user_sid

    Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

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

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

nvarchar(128)

Замечания

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

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

База данных SQL Windows Azure Замечания

SUSER_NAME всегда возвращает имя входа для текущего контекста безопасности.

Инструкция SUSER_SNAME не поддерживает выполнение с помощью олицетворенного контекста безопасности посредством инструкции EXECUTE AS.

Примеры

А.Использование параметра SUSER_SNAME

В следующем примере возвращается имя входа для текущего контекста безопасности.

SELECT SUSER_SNAME();
GO

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

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

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO

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

В следующем примере функция SUSER_SNAME используется в качестве ограничения DEFAULT в инструкции 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

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

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

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

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

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

sa

WanidaBenShoof

sa

См. также

Справочник

SUSER_SID (Transact-SQL)

sys.server_principals (Transact-SQL)

EXECUTE AS (Transact-SQL)

Основные понятия

Участники (компонент Database Engine)