Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Database SQL di Microsoft Fabric
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.
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 AdventureWorks2025 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)