SUSER_SNAME (Transact-SQL)

Zwraca nazwę logowania, skojarzony z numerem identyfikacji zabezpieczeń (SID).

Topic link iconKonwencje składni języka Transact-SQL

SUSER_SNAME ( [ server_user_sid ] ) 

Argumenty

  • server_user_sid
    Jest numerem identyfikacyjnym zabezpieczeń logowania.server_user_sid, which is optional, is varbinary(85).server_user_sid can be the security identification number of any SQL Server login or Microsoft Windows user or group.Jeśli server_user_sid to nie jest określona, informacje dotyczące bieżącego użytkownika jest zwracany.

Zwracane typy

nvarchar(128)

Remarks

SUSER_SNAME może być używany jako ograniczenie domyślne w instrukcji ALTER tabela lub CREATE tabela.SUSER_SNAME mogą być używane w liście select w klauzula WHERE, i dowolnym wyrażeniu jest dozwolone.SUSER_SNAME musi zawsze następować nawiasów, nawet jeśli nie jest określony.

Po wywołaniu bez argumentu SUSER_SNAME zwraca nazwę bieżącego kontekstu zabezpieczeń.Po wywołaniu bez argumentu w instancji, która została przełączona kontekstu przy użyciu wykonać AS SUSER_SNAME zwraca nazwę kontekście personifikowanego.Po wywołaniu z kontekście personifikowanego ORIGINAL_LOGIN zwraca nazwę oryginalnego kontekstu.

Przykłady

A.Za pomocą SUSER_SNAME

W poniższym przykładzie zwraca nazwę logowania dla numeru identyfikacyjnego zabezpieczeń o wartości 0x01.

SELECT SUSER_SNAME(0x01);
GO

B.SUSER_SNAME przy użyciu identyfikator zabezpieczeń użytkownika systemu Windows

W poniższym przykładzie zwraca nazwy logowania, skojarzony z numerem identyfikacji zabezpieczeń systemu Windows.

SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO

C.Za pomocą SUSER_SNAME jako ograniczenie domyślne

W poniższym przykładzie użyto SUSER_SNAME jako DEFAULT ograniczenia w CREATE TABLE Instrukcja.

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

D.Wywołanie SUSER_SNAME w połączeniu z wykonać AS

W tym przykładzie pokazano zachowanie SUSER_SNAME po wywołaniu z kontekście personifikowanego.

SELECT SUSER_SNAME();

GO

EXECUTE AS LOGIN = 'WanidaBenShoof';

SELECT SUSER_SNAME();

REVERT;

GO

SELECT SUSER_SNAME();

GO

W tym polu jest wynikiem.

sa

WanidaBenShoof

sa