7 Nisan 2009 Salı

HATA MESAJI:
"The CHECK_POLICY and CHECK_EXPIRATION options cannot be turned OFF when MUST_CHANGE is ON."

AÇIKLAMA:
Bir Login ile SQL Server Instance' ınıza giriş yaparken şifrenizin zamanının dolduğu ve değiştirilmesi hakkında bir mesaj alabilirsiniz. Eğer böyle bir uyarı mesajı alıyorsanız, o zaman bu, ilgili Login' in "CHECK_EXPIRATION" özelliğinin etkin olduğu anlamına gelir.

Şifrenizin süresi dolduğunda ise, şifre muhakkak güncellenmelidir. Eğer şifreyi güncellemeden gidip de Login' in özelliklerinden "CHECK_EXPIRATION" özelliğini iptal etmek isterseniz yukarıdaki hata mesajıyla karşılaşırsınız.

ÇÖZÜM:
Öncelikle, ilgili Login' in şifresi değiştirilmelidir. Bu işlemi SSMS arayüzünü veya T-SQL komutlarını kullanarak yapabilirsiniz.

SSMS:
- SSMS' i açın -> Security -> Logins ve ardından ilgili Login' i bulduktan sonra üzerinde farenin sağ tuşuna tıklayın ve Properties penceresini açın.
- Login' in şifresini değiştirin ve "User must change password at next login" seçeneğinin işaretini kaldırın. OK' düğmesine tıklayıp pencereyi kapatın.
- Eğer Password Policy ve Password Expiration kurallarının bu Login için tekrar uygulanmasını istemiyorsanız, Login' in Properties penceresini tekrar açıp ve "Enforce password expiration" seçeneğinin işaretini de artık kaldırabilirsiniz. Bu işlemi daha önce yapamazdık, çünkü öncelikle bir önceki adımın tamamlanması gerekiyor.

T-SQL:
Aşağıdaki komutu kullanarak ilgili Login' in şifresini değiştirin.

ALTER LOGIN [Login_adı] WITH PASSWORD=N'xxx'

Daha sonra aşağıdaki komutu kullanarak CHECK_EXPIRATION ve CHECK_POLICY özelliklerini de kapatabilirsiniz.

ALTER LOGIN [Login_adı] WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF

Hiç yorum yok: