Udostępnij za pośrednictwem


SUSER_SNAME (Transact-SQL)

Zwraca nazwę logowania skojarzone z numerem identyfikatora zabezpieczeń (SID).

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

SUSER_SNAME ( [ server_user_sid ] )

Argumenty

  • server_user_sid
    Jest numerem identyfikacyjnym zabezpieczeń logowania.server_user_sid, który jest opcjonalny, jest varbinary(85).server_user_sidmoże być zabezpieczeń numer identyfikacyjny każdej SQL Server logowania lub Microsoft systemu Windows użytkownika lub grupy.Jeśli server_user_sid jest nieokreślona, informacje dotyczące bieżącego użytkownika jest zwracany.

Zwracane typy

nvarchar(128)

Uwagi

SUSER_SNAME mogą używane jako domyślne ograniczenie w instrukcji ALTER TABLE lub CREATE TABLE.SUSER_SNAME mogą być używane na liście select, w przypadku gdy klauzulai dowolnym wyrażenie jest dozwolone.SUSER_SNAME zawsze musi być stosowana w nawiasach, nawet jeśli nie określono żadnych parametrów.

Gdy wywołana bez argumentu, SUSER_SNAME zwraca nazwę bieżącego kontekstu zabezpieczeń.Po wywołaniu bez argumentu w przełączył kontekstu przy użyciu jako wykonywanie partia SUSER_SNAME zwraca nazwę kontekście personifikowanego.Po wywołaniu z kontekście personifikowanego ORIGINAL_LOGIN zwraca nazwę oryginalnego kontekstu.

Przykłady

A.Przy użyciu SUSER_SNAME

Poniższy przykład zwraca nazwę logowania dla numeru identyfikacyjnego zabezpieczeń o wartości 0x01.

SELECT SUSER_SNAME(0x01);
GO

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

Poniższy przykład zwraca nazwy logowania skojarzone z numeru identyfikacyjnego zabezpieczeń systemu Windows.

SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO

C.Używając SUSER_SNAME jako domyślne ograniczenie

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

USE AdventureWorks2008R2;
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 EXECUTE

W poniższym 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