SUSER_SNAME (Transact-SQL)
Zwraca nazwę logowania, skojarzony z numerem identyfikacji zabezpieczeń (SID).
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
See Also