USER_NAME (SQL bertransaksi)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Menampilkan nama pengguna database dari nomor identifikasi tertentu.

Article link iconKonvensi Sintaksis T-SQL

Sintaks

USER_NAME ( [ id ] )  

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

id
Adalah nomor identifikasi yang terkait dengan pengguna database. id adalah int. Tanda kurung diperlukan.

Jenis Pengembalian

nvarchar(128)

Keterangan

Ketika id dihilangkan, pengguna saat ini dalam konteks saat ini diasumsikan. Jika parameter berisi kata NULL akan mengembalikan NULL. Saat USER_NAME dipanggil tanpa menentukan id setelah pernyataan EXECUTE AS, USER_NAME mengembalikan nama pengguna yang ditiru. Jika perwakilan Windows mengakses database dengan cara keanggotaan dalam grup, USER_NAME mengembalikan nama prinsipal Windows alih-alih grup.

Catatan

Meskipun fungsi USER_NAME didukung pada Azure SQL Database, menggunakan Jalankan seperti halnya USER_NAME tidak didukung pada Azure SQL Database.

Contoh

A. Menggunakan USER_NAME

Contoh berikut mengembalikan nama pengguna untuk ID 13pengguna .

SELECT USER_NAME(13);  
GO  

B. Menggunakan USER_NAME tanpa ID

Contoh berikut menemukan nama pengguna saat ini tanpa menentukan ID.

SELECT USER_NAME();  
GO  

Berikut adalah hasil yang ditetapkan untuk pengguna yang merupakan anggota peran server tetap sysadmin.

------------------------------  
dbo  
 
(1 row(s) affected)

C. Menggunakan USER_NAME dalam klausa WHERE

Contoh berikut menemukan baris di sysusers mana nama sama dengan hasil penerapan fungsi USER_NAME sistem ke nomor 1identifikasi pengguna .

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

Berikut adalah hasil yang ditetapkan.

name  
------------------------------  
dbo  
 
(1 row(s) affected)

D. Memanggil USER_NAME selama peniruan dengan EXECUTE AS

Contoh berikut menunjukkan bagaimana USER_NAME perilaku selama peniruan.

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

Berikut adalah hasil yang ditetapkan.

DBO  
Zelig  
DBO

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

E. Menggunakan USER_NAME tanpa ID

Contoh berikut menemukan nama pengguna saat ini tanpa menentukan ID.

SELECT USER_NAME();  

Berikut adalah hasil yang ditetapkan untuk pengguna yang saat ini masuk.

------------------------------   
User7                              

F. Menggunakan USER_NAME dalam klausa WHERE

Contoh berikut menemukan baris di sysusers mana nama sama dengan hasil penerapan fungsi USER_NAME sistem ke nomor 1identifikasi pengguna .

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

Berikut adalah hasil yang ditetapkan.

name                             
------------------------------   
User7                              

Lihat juga

ALTER TABLE (Transact-SQL)
BUAT TABEL (Transact-SQL)
CURRENT_TIMESTAMP (SQL bertransaksi)
CURRENT_USER (SQL bertransaksi)
SESSION_USER (SQL Bertransaksi)
Fungsi Sistem (SQL Bertransaksi)
SYSTEM_USER (SQL Bertransaksi)