suser_sname (Transact-sql)
Bir güvenlik kimlik numarası (SID) ile ilişkilendirilmiş oturum açma adını döndürür.
Transact-SQL Sözdizim Kuralları
Sözdizimi
SUSER_SNAME ( [ server_user_sid ] )
Bağımsız değişkenler
- server_user_sid
Oturum açma güvenlik kimlik numarasıdır. server_user_sid, isteğe bağlı olan varbinary(85). server_user_sidherhangi bir güvenlik kimlik numarası olabilir SQL Servergiriş veya MicrosoftWindows kullanıcısı veya grubu. Eğer server_user_sidolduğu belirtilmemişse, geçerli kullanıcı hakkında bilgi döner. Parametre null null döndürür sözcük içeriyorsa.
Dönüş Türleri
nvarchar(128)
Açıklamalar
suser_sname, alter table veya create table varsayılan kısıtlama olarak kullanılabilir. suser_sname bir seçme listesinde where yan tümcesi kullanılabilir ve herhangi bir ifade izin verilir. Hiçbir parametre belirtilmiş olsa bile suser_sname parantez tarafından her zaman izlenmesi gerekir.
Bir bağımsız değişken olmadan çağrıldığında suser_sname geçerli güvenlik içeriği adını döndürür. İçeriği execute as kullanarak değiştirdi bir toplu iş içinden bağımsız değişken olmadan çağrıldığında suser_sname Kimliğine bürünülen bağlam adını döndürür. Kimliğine bürünülen içerikten çağrıldığında, ORIGINAL_LOGIN özgün içerik adını döndürür.
Örnekler
A.suser_sname kullanma
Aşağıdaki örnek oturum açma adı için güvenlik kimlik numarası değeri verir 0x01.
SELECT SUSER_SNAME(0x01);
GO
SELECT SUSER_SNAME(0x01);
GO
B.Bir Windows kullanıcı güvenlik kimliği ile suser_sname kullanma
Aşağıdaki örnek, bir Windows güvenlik kimlik numarası ile ilişkilendirilmiş oturum açma adını döndürür.
SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO
SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO
C.suser_sname varsayılan kısıtlama kullanma
Aşağıdaki örnek SUSER_SNAMEgibi bir DEFAULTsınırlaması bulunan bir CREATE TABLEdeyimi.
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
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
D.execute as ile birlikte suser_sname çağırma
Bu örnek, Kimliğine bürünülen içerikten çağrıldığında suser_sname davranışını gösterir.
SELECT SUSER_SNAME();
GO
EXECUTE AS LOGIN = 'WanidaBenShoof';
SELECT SUSER_SNAME();
REVERT;
GO
SELECT SUSER_SNAME();
GO
SELECT SUSER_SNAME();
GO
EXECUTE AS LOGIN = 'WanidaBenShoof';
SELECT SUSER_SNAME();
REVERT;
GO
SELECT SUSER_SNAME();
GO
İşte sonuç.
sa
WanidaBenShoof
sa
Ayrıca bkz.
Başvuru
sys.server_principals (Transact-sql)