Aracılığıyla paylaş


suser_sname (Transact-sql)

Bir güvenlik kimlik numarası (SID) ile ilişkilendirilmiş oturum açma adını döndürür.

Konu bağlantısı simgesi 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

SUSER_SID (Transact-sql)

sys.server_principals (Transact-sql)

Kavramlar

Sorumluları (veritabanı altyapısı)