Aracılığıyla paylaş


USER_ID (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Bir veritabanı kullanıcısının kimlik numarasını döndürür.

Önemli

Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine DATABASE_PRINCIPAL_ID kullanın.

Transact-SQL söz dizimi kuralları

Sözdizimi

USER_ID ( [ 'user' ] )  

Arguments

user
Kullanıcı adı kullanılacak mı? Kullanıcınchar. Bir karakter değeri belirtilirse, örtük olarak nchar'a dönüştürülür. Parantezler gereklidir.

Dönüş Türleri

int

Açıklamalar

Kullanıcı atıldığında, mevcut kullanıcı varsayılır. Eğer parametre NULL kelimesini içeriyorsa, NULL döner. EXECUTE AS sonrası USER_ID çağrıldığında, USER_ID taklit edilmiş bağlamın kimliğini döndürür.

Belirli bir veritabanı kullanıcısına eşlenmeyen bir Windows praktörü, bir grup üyeliği yoluyla veritabanına eriştiğinde, USER_ID 0 (halka açık kimliği) döner. Böyle bir prensip şema belirtmeden bir nesne oluşturursa, SQL Server Windows prensibine eşlenmiş örtük bir kullanıcı ve şema oluşturur. Böyle durumlarda oluşturulan kullanıcı, veritabanına bağlanmak için kullanılamaz. Windows yöneticisinin örtük kullanıcıya eşlenmiş USER_ID çağrıları, örtük kullanıcının kimliğini döndürür.

USER_ID, seçim listesinde, WHERE cümlesinde ve ifadenin izin verilen her yerde kullanılabilir. Daha fazla bilgi için bkz. İfadeler (Transact-SQL).

Örnekler

Aşağıdaki örnek, kullanıcı AdventureWorks2025için Harold kimlik numarasını döndürür.

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

Ayrıca Bkz.

USER_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABASE_PRINCIPAL_ID (Transact-SQL)
Güvenlik İşlevleri (Transact-SQL)