Bagikan melalui


USER_ID (T-SQL)

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Mengembalikan nomor identifikasi untuk pengguna database.

Penting

Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Gunakan DATABASE_PRINCIPAL_ID sebagai gantinya.

Konvensi sintaks transact-SQL

Sintaks

USER_ID ( [ 'user' ] )  

Argumen

pengguna
Apakah nama pengguna yang akan digunakan. pengguna adalah nchar. Jika nilai karakter ditentukan, nilai tersebut secara implisit dikonversi ke nchar. Tanda kurung diperlukan.

Jenis Kembalian

int

Keterangan

Ketika pengguna dihilangkan, pengguna saat ini diasumsikan. Jika parameter berisi kata NULL akan mengembalikan NULL. Ketika USER_ID dipanggil setelah EXECUTE AS, USER_ID akan mengembalikan ID konteks yang ditiru.

Saat prinsipal Windows yang tidak dipetakan ke pengguna database tertentu mengakses database dengan cara keanggotaan dalam grup, USER_ID mengembalikan 0 (ID publik). Jika prinsipal tersebut membuat objek tanpa menentukan skema, SQL Server akan membuat pengguna implisit dan skema yang dipetakan ke prinsipal Windows. Pengguna yang dibuat dalam kasus seperti itu tidak dapat digunakan untuk menyambungkan ke database. Panggilan ke USER_ID oleh perwakilan Windows yang dipetakan ke pengguna implisit akan mengembalikan ID pengguna implisit.

USER_ID dapat digunakan dalam daftar pilih, dalam klausa WHERE, dan di mana saja ekspresi diizinkan. Untuk informasi selengkapnya, lihat Ekspresi (Transact-SQL).

Contoh

Contoh berikut mengembalikan nomor identifikasi untuk AdventureWorks2022 pengguna Harold.

USE AdventureWorks2022;  
SELECT USER_ID('Harold');  
GO  

Lihat Juga

USER_NAME (T-SQL)
sys.database_principals (T-SQL)
DATABASE_PRINCIPAL_ID (T-SQL)
Fungsi Keamanan (T-SQL)