SUSER_SNAME (Transact-SQL)
Zwraca nazwę logowania skojarzone z numerem identyfikatora zabezpieczeń (SID).
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
Zobacz także