Login policy ayarları hakkında bilgi verir.
Syntax:
LOGINPROPERTY ( 'login_name' , 'property_name' )
Parametreler:
login_name: Hakkında bilgi alınacak SQL Server login adı
propertyname: Login için bazı özellik bilgileri geri döndürür. Propertyname aşağıdaki değerlerden birini olabilir:
BadPasswordCount : Yanlış bir parola ile girişlerin ardışık denemelerinin sayısını döndürür.
BadPasswordTime : Yanlış bir parola ile giriş yapmak için son girişim zamanını döndürür.
DaysUntilExpiration : Parolanın süresi kadar gün sayısını döndürür.
DefaultDatabase : Kullanıcının giriş için default veritabanını döndürür.
DefaultLanguage : Kullanıcının giriş için varsayılan dilini döndürür.
HistoryLength : Şifre politikası uygulama mekanizmasını kullanarak, giriş için izlenen parola sayısını döndürür. 0: Password Policy uygulanmıyorsa. 1: Password Policy uygulanıyorsa.
IsExpired : Oturum açma süresinin dolup dolmadığı hakkında bilgi verir.
IsLocked : Loginin kilitli olup olmadığı hakkında bilgi verir.
IsMustChange : Bir sonraki girişte şifrenin değiştirilmesinin gerekip gerekmediğini hakkında bilgi verir.
LockoutTime : Lock tarihini geri döndürür.
PasswordHash : Şifrenin hash halini geri döndürür.
PasswordLastSetTime : Geçerli parolanın set edildiği tarihi döndürür.
Not: Login üzerinde VIEW yetkisini gerektirir. Password Hash için CONTROL SERVER yetkisini gerektirir.
Örnek-1: Mehmet kullanıcısının bir sonraki oturumda şifresinin değiştirilmesinin zorunlu olup olmadığını kontrol edelim
SELECT LOGINPROPERTY('mehmet', 'IsMustChange');
Örnek-2: Mehmet kullanıcısının lock olup olmadığını kontrol edelim
SELECT LOGINPROPERTY('mehmet', 'IsLocked');
Örnek-3: Lock olan tüm kullanıcıların listesini aşağıdaki T-SQL ile alabilirsiniz:
select name
from sys.server_principals
where loginproperty(name, 'IsLocked') =1