Share via


Kullanıcı_adı (Transact-SQL)

Belirtilen kimlik numarasından bir veritabanı kullanıcı adını döndürür.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

USER_NAME ( [ id ] )

Bağımsız değişkenler

  • id
    Bir veritabanı kullanıcısı ile ilişkili kimlik numarası.idis int.Ayraçlar gereklidir.

Dönüş Türleri

nvarchar(256)

Açıklamalar

Zaman id olan atlanırsa, geçerli kullanıcının geçerli içerikteki varsayılır.Ne zaman kullanıcı_adı çağırılır belirtmeden bir id bir execute sonrasında deyimkullanıcı_adı kimliğine bürünülen kullanıcı. adını döndürürAsıl Windows Grup üyeliği tarafından veritabanı erişirse, kullanıcı_adı Windows adını grubu yerine asıl döndürür.

Örnekler

A.Kullanıcı_adı kullanma

Aşağıdaki örnek, kullanıcı adı için kullanıcı kimliği verir 13.

SELECT USER_NAME(13);
GO

B.Kullanıcı_adı kimlik olmadan kullanma

Aşağıdaki örnek kimliği belirtmeden geçerli kullanıcı adını bulur.

SELECT USER_NAME();
GO

İşte sonuç kümesi için üye olan bir kullanıcı sysadmin sabit sunucu rolü.

------------------------------

dbo

(1 row(s) affected)

C.where yan tümcetümcesinde kullanıcı_adı kullanma

Aşağıdaki örnek satır bulur sysusers , adı eşittir sistem işlevuygulama sonucu USER_NAME kullanıcı kimlik numarası için 1.

SELECT name FROM sysusers WHERE name = USER_NAME(1);
GO

Sonuç kümesi buradadır.

name

------------------------------

dbo

(1 row(s) affected)

D.execute as ile kimliğe bürünme sırasında user_name çağırma

Aşağıdaki örnekte gösterildiği nasıl USER_NAME işleyiş sırasında kimliğe bürünme.

SELECT USER_NAME();
GO
EXECUTE AS USER = 'Zelig';
GO
SELECT USER_NAME();
GO
REVERT;
GO
SELECT USER_NAME();
GO

Sonuç kümesi buradadır.

DBO

Zelig

DBO