Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analytics Platform System (PDW)
OLE DB sürücüsünü indirme
SQL Server 2005 (9.x) öncesinde, bir kullanıcının şifresi süresi dolduğunda, sadece bir yönetici şifreyi sıfırlayabiliyordu. SQL Server 2005 (9.x) ile itibaren, OLE DB Driver for SQL Server, şifre süresi bitmesini programatik olarak OLE DB Driver üzerinden ve SQL Server Giriş Kutusundaki değişikliklerle desteklemektedir.
Note
Mümkünse, kullanıcılara kimlik bilgilerini çalışma zamanı girmelerini söyler ve kimlik bilgilerini kalıcı bir formatta saklamalarını önlemek. Kimlik bilgilerini korumak zorundaysanız, onları Win32 kripto API'si ile şifrelemelisiniz. Şifrelerin kullanımı hakkında daha fazla bilgi için Güçlü Şifreler bölümüne bakınız.
SQL Server Giriş Hata Kodları
Kimlik doğrulama sorunları nedeniyle bağlantı kurulamazsa, aşağıdaki SQL Server hata kodlarından biri uygulamaya tanı ve kurtarma için yardımcı olur.
| SQL Server Hata Kodu | Hata mesajı |
|---|---|
| 15113 | Kullanıcı '%.*ls' için giriş başarısız oldu Neden: Şifre doğrulaması başarısız oldu. Hesap kilitlendi. |
| 18463 | '%.*ls' kullanıcısı için oturum açılamadı. Neden: Parola değişikliği başarısız oldu. Parola şu anda kullanılamaz. |
| 18464 | '%.*ls' kullanıcısı için oturum açılamadı. Neden: Parola değişikliği başarısız oldu. Parola çok kısa olduğundan ilke gereksinimlerini karşılamıyor. |
| 18465 | '%.*ls' kullanıcısı için oturum açılamadı. Neden: Parola değişikliği başarısız oldu. Şifre politika gereksinimlerini karşılamaz çünkü çok uzun. |
| 18466 | '%.*ls' kullanıcısı için oturum açılamadı. Neden: Parola değişikliği başarısız oldu. Parola, yeterince karmaşık olmadığından ilke gereksinimlerini karşılamıyor. |
| 18467 | '%.*ls' kullanıcısı için oturum açılamadı. Neden: Parola değişikliği başarısız oldu. Parola, parola filtresi DLL'sinin gereksinimlerini karşılamıyor. |
| 18468 | '%.*ls' kullanıcısı için oturum açılamadı. Neden: Parola değişikliği başarısız oldu. Parola doğrulaması sırasında beklenmeyen bir hata oluştu. |
| 18487 | '%.*ls' kullanıcısı için oturum açılamadı. Sebep: Hesabın şifresinin süresi doldu. |
| 18488 | '%.*ls' kullanıcısı için oturum açılamadı. Neden: Hesabın parolası değiştirilmelidir. |
SQL Server için OLE DB Sürücüsü
OLE DB Driver for SQL Server, kullanıcı arayüzü ve programatik olarak şifre süresi dolmasını destekler.
OLE DB Kullanıcı Arayüzü Şifre Süresi Dolması
OLE DB Driver for SQL Server, SQL Server Giriş Konuşma Kutularında yapılan değişikliklerle şifre süresi dolmasını destekler. DBPROP_INIT_PROMPT değeri DBPROMPT_NOPROMPT olarak ayarlanmışsa, şifre süresi dolduysa ilk bağlantı girişimi başarısız olur.
Eğer DBPROP_INIT_PROMPT başka bir değere ayarlanmışsa, kullanıcı şifrenin süresi dolup olmadığına bakılmaksızın SQL Server Giriş diyalogunu görür. Kullanıcı, şifreyi değiştirmek için Seçenekler butonuna tıklayabilir ve Şifreyi Değiştir seçeneğini işaretleyebilir.
Kullanıcı OK tuşuna tıklarsa ve şifrenin süresi dolmuşsa, SQL Server kullanıcıya SQL Server Şifresini Değiştir diyalogundan yeni bir şifre girip onaylamasını ister.
OLE DB İstem Davranışı ve Kilitli Hesaplar
Bağlantı girişimleri hesabın kilitlenmesi nedeniyle başarısız olabilir. Bu, SQL Server Giriş Diyalogu görüntülendikten sonra gerçekleşirse, sunucu hata mesajı kullanıcıya gösterilir ve bağlantı girişimi iptal edilir. Ayrıca, kullanıcı eski şifre için kötü bir değer girerse SQL Server Şifresini Değiştir diyalogunun görüntülenmesinden sonra da meydana gelebilir. Bu durumda aynı hata mesajı gösterilir ve bağlantı girişimi iptal edilir.
OLE DB Bağlantı Havuzu, Şifre Süresi ve Kilitli Hesaplar
Bir hesap kilitlenebilir veya şifresi bağlantı havuzunda aktif iken süresi dolabilir. Sunucu, iki kez süresi dolmuş şifreleri ve kilitli hesapları kontrol ediyor. İlki, bir bağlantının ilk kez kurulduğu zamandır. İkinci durum, bağlantı havuzdan alındığında bağlantı sıfırlandığında gerçekleşir.
Sıfırlama girişimi başarısız olduğunda, bağlantı havuzdan kaldırılır ve hata geri döner.
OLE DB Programatik Şifre Süresi
OLE DB Driver for SQL Server, DBPROPSET_SQLSERVERDBINIT özellik setine eklenen SSPROP_AUTH_OLD_PASSWORD (tip VT_BSTR) özelliğinin eklenmesiyle şifre süresi dolmasını destekler.
Mevcut "Password" özelliği DBPROP_AUTH_PASSWORD ifade eder ve yeni şifreyi depolamak için kullanılır.
Note
bağlantı dizesi "Eski Şifre" özelliği SSPROP_AUTH_OLD_PASSWORD ayar, bu mevcut (muhtemelen süresi dolmuş) ve sağlayıcı dizisi özelliği aracılığıyla erişilemeyen şifredir.
Sağlayıcı, bu mülkün değerini ısrarla belirtmez. Bu özellik ayarlandığında, sağlayıcı ilk bağlantı için bağlantı havuzunu kullanmaz çünkü yeni bir bağlantı oluşur. Şifre değişikliği başarılı olursa, mevcut bağlantı tekrar kullanılamaz çünkü eski şifre hâlâ geçersiz olur. Ayrıca, giriş başarılı olursa, sağlayıcı bu mülkü temizler. Eski şifreyi geri almak için yapılan sonraki denemeler VT_EMPTY sonuç veriyor.
Note
SSPROP_AUTH_OLD_PASSWORD asla devam ettirilmemelidir çünkü sadece bir şifre süresi dolduğunda kullanılır.
"Eski Şifre" özelliği ayarlandığında, sağlayıcı şifreyi değiştirme girişiminde olduğunu varsayar, ancak Windows Kimlik Doğrulaması da belirtilmedikçe her zaman öncelik alır.
Eğer Windows Kimlik Doğrulama kullanılırsa, eski şifreyi belirtmek, eski şifrenin sırasıyla ZORUNLU veya ISTEĞE BAĞLI olarak belirtilmesine bağlı olarak DB_E_ERRORSOCCURRED veya DB_S_ERRORSOCCURRED ile sonuçlanır ve dwStatus'ta DBPROPSTATUS_CONFLICTINGBADVALUE durum değeri döner. Bu, IDBInitialize::Initialize çağrıldığında tespit edilir.
Şifreyi değiştirme girişimi beklenmedik şekilde başarısız olursa, sunucu 18468 hata kodu döndürür. Bağlantı girişiminden standart bir OLEDB hatası döner.
DBPROPSET_SQLSERVERDBINIT özellik kümesi hakkında daha fazla bilgi için Başlatma ve Yetkilendirme Özellikleri bölümlerine bakınız.