Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает имя входа, связанное с идентификатором безопасности (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
См. также
Справочник
sys.server_principals (Transact-SQL)