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.
Not
Sorun gidermeye başlamadan önce önkoşulları denetlemenizi ve denetim listesini gözden geçirmenizi öneririz. Daha fazla bilgi için bkz . Kendi Kendine Yardım Makaleleri.
Bu makalede, SQL Server bağlantısında aralıklı kimlik doğrulaması sorunlarının yaygın nedenleri açıklanır ve çözümler sağlanır.
Belirtiler
SQL Server bağlantısındaki aralıklı veya düzenli kimlik doğrulama sorunları, kullanıcılar veya uygulamalar SQL Server veritabanıyla kimlik doğrulamasında düzensiz zorluklarla karşılaştığında oluşur. Bu, veri erişiminde ve uygulama işlevselliğinde kesintilere neden olur.
En yaygın hata iletileri
-
-
- '' kullanıcısı için oturum açılamadı
- 'NT AUTHORITY\ANONYMOUS LOGON' kullanıcısı için oturum açma başarısız oldu
- '<UserName>' kullanıcısı için oturum açılamadı
- '<Domain>\<UserName>' kullanıcısı için oturum açılamadı
- Oturum açılamadı. Oturum açma bilgisi güvenilmeyen bir etki alanından geliyor ve Windows kimlik doğrulamasıyla kullanılamaz.
Neden
En yaygın sorunlar SQL Server performansından veya etki alanı denetleyicisinin yavaş yanıt vermesine neden olur. NT LAN Manager (NTLM) kullanılıyorsa, Yerel Güvenlik Yetkilisi Alt Sistem Hizmeti'nde (LSASS) bir performans sorunu vardır ve aynı anda kaç yeni bağlantının işlenebileceğini sınırlar. Diğer istekler yedeklenir ve zaman aşımına uğradı. Virüsten koruma gibi bazı nedenlerin kanıtlanması zor olabilir, ancak yine de yaygındır ve diğer sorgulama yolları etkisizse kesin kanıt olmadan bile araştırılmalıdır.
Sorun giderme işlemi
Sorun aralıklı olduğundan, Kerberos Hizmet Asıl Adları (SPN'ler) gibi yapılandırmanın doğru olması muhtemeldir. Bu sorunu çözmek için aşağıdaki sorun giderme adımlarını deneyin:
Birden çok etki alanı veya veri merkezi arasındaki gecikme süresi farkı
Birden çok etki alanı veya veri merkezi söz konusuysa, diğer etki alanlarındaki veya veri merkezlerindeki kullanıcılar sorun yaşarken yerel etki alanındaki veya veri merkezindeki kullanıcıların bu sorunla karşılaşıp karşılaşmadığını denetleyin. Öyleyse, veri merkezleri veya etki alanı denetleyicileri arasında bir iletişim gecikmesi olduğunu gösterebilir. Sorunu araştırmak için aşağıdaki komutları kullanın:
Ağ gecikme süresini denetlemek için ping komutunu kullanın. Örneğin:
komutunu çalıştırın:
ping <DatabaseServer>
.Saat sütununa bakın ve bu zamanı diğer etki alanı veya veri merkezindeki saatle karşılaştırın:
Pinging <DatabaseServer> [10.10.10.3] with 32 bytes of data: Reply from 10.10.10.3: bytes=32 time=68ms TTL=116 Reply from 10.10.10.3: bytes=32 time=67ms TTL=116 Reply from 10.10.10.3: bytes=32 time=67ms TTL=116
Kimlik bilgisi doğrulama gecikmesi sorunlarını test etmek için çeşitli kullanıcılarla Runas kullanın. Örneğin:
runas /user:<DomainName>\<UserAccountName> cmd.exe
'i çalıştırın.- Bir komut istemi gösterildikten sonra kullanıcının parolasını girin.
Bu komutlarla test ettikten sonra bile sorun devam ederse, sorun SQL Server'da değil, ağ altyapısında veya etki alanı denetleyicisi performansındadır.
SQL Server hata günlüğünde performans sorunu arayın
SQL Server hata günlüğü, G/Ç'nin 15 saniyeden uzun sürdüğünü gösteren girişler gibi SQL Server'da performans sorunları ortaya çıkabilir. SQL Performans ekibinin çalıştırıp analiz etmek için PSSDIAG'ı vardır. Bir ağ izlemesi SQL Server yanıtlarında gecikmeler ortaya çıkarsa bunu yapmanız gerekebilir.
Hata günlüğü, bazı Active Directory performans sorunlarını gösteren aşağıdaki hata günlüğü gibi etki alanıyla ilgili diğer hataları da içerebilir:
SSPI handshake failed with error code 0x80090311 while establishing a connection with integrated security; the connection has been closed.
SSPI handshake failed with error code 0x80090304 while establishing a connection with integrated security; the connection has been closed.
Aşağıdaki işletim sistemi hata kodları hatanın nedenini gösterir:
-
Hata -2146893039 (0x80090311): Kimlik doğrulaması için hiçbir yetkiliyle bağlantı kurulamadı.
-
Hata -2146893052 (0x80090304): Yerel Güvenlik Yetkilisi ile bağlantı kurulamıyor.
ağ hataları için istemci sistemindeki Olay günlüklerini gözden geçirin
Sistem olay günlüğünde Kerberos, Yerel Güvenlik Yetkilisi (LSA) ve Netlogon olayları gibi çeşitli olaylar bulunur. Bu olaylar bilgisayarın bir süre için etki alanı denetleyicisine bağlanamazsınız gösterir. Bulmalarını kolaylaştırmak için yalnızca Hata, Uyarı ve Kritik olayları filtreleyin. Olay zamanının kesinti zamanına yakın olması gerekir. Eşleşme varsa, bu bir Active Directory sorunu olabilir.
Bazı durumlarda bu sorun SQL Server'da oluşabilir. Bu makinedeki günlükleri de denetleyin.
Source: NETLOGON
Date: <DateTime>
Event ID: 5719
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: SQLPROD01
Description:
This computer was not able to set up a secure session with a domain controller in domain CONTOSO due to the following: The remote procedure call was cancelled. This may lead to authentication problems. Make sure that this computer is connected to the network. If the problem persists, please contact your domain administrator.
Güvenlik olay günlüğünde Olay Kimliği 4625'i filtreleyin. Bu olay, oturum açma hatası hakkında ayrıntılı bilgileri gösterir.
SQL bağlantı halkası arabelleği toplama ve gözden geçirme
Halka arabelleği, SQL Server'da bağlantı olaylarının geçmiş günlüğüdür ve bir kesintiden sonra alınabileceği anlamına gelir. Birçok olay, size zamanın nereye harcandığını belirten oturum açma zamanlayıcılarını içerir:
- Ağda harcanan süre, olası bir ağ veya istemci gecikme süresini gösterir.
- Güvenli Yuva Katmanı (SSL) veya Güvenlik Desteği Sağlayıcısı Arabirimi (SSPI) API'lerinde harcanan süre, Windows güvenlik alt sistemiyle ilgili olası sorunları gösterir.
- Sıralanan zaman, SQL Server performans sorununu gösterir.
Daha fazla bilgi için bkz . Bağlantı Halkası Arabelleği Toplama.
Bağlantı havuzu
Bağlantı havuzu olmaması, aralıklı oturum açma hatalarına neden olabilir.
Not
Bağlantı havuzu eksikliği, oluşturulan bağlantılarla karşılaştırıldığında çıkışta NETSTAT
çok sayıda TIME_WAIT
durum kodu gösterir.
Bağlantı havuzu etkinleştirilmemişse, istemcinin giden bağlantı noktaları tükenebilir ve ayrıca sunucuyu aşırı yüklenmiş olabilir. Bu aşırı yükleme sunucunun gelen bağlantı isteklerini reddetmesine veya düşük performanslı bir etki alanı denetleyicisini su basmasına neden olabilir.
Yapılacak en iyi şey, uygulama geliştiricisinin uygulamalarında bağlantı havuzu kullanmasını sağlamaktır. .NET ve Internet Information Services (IIS) uygulamalarında bağlantı havuzu varsayılan olarak AÇILDI, ancak bazı nedenlerden dolayı kapatılmış olabilir.
Uygulamaların özel havuz kodu kullanması kesinlikle önerilmez. Karşılaştığımız neredeyse tüm özel havuz uygulamaları sorunlarla karşılaştı. Yerleşik bağlantı havuzu mekanizmasını kullanmak daha iyidir.
Düşük çekirdek belleğiyle ilgili sorunlar
Kısa ömürlü bağlantı noktalarının tükenmesi, aralıklı bağlantı zaman aşımlarının nispeten yaygın bir nedenidir.
Sorun: SQL Server makinesinde düşük çekirdek belleği.
Çözüm: SQL Server Management Studio'daki Özellikler bölmesinde en yüksek sunucu belleğini (MB) ayarlayın. En iyi yöntem, maksimum sunucu belleğini (MB) makinedeki fiziksel bellekten yaklaşık 4 GB ile 8 GB daha az olarak ayarlamaktır. Makinede birden çok örnek, IIS veya başka bir uygulama sunucusu çalışıyorsa bu değer daha küçük olmalıdır. En fazla sunucu belleği (MB) ayarıyla ilgili öneriler için bkz. Sunucu belleği yapılandırma seçenekleri.
Not
Varsayılan değer olan 2147483647 MB
, sunucunun işletim sisteminin (OS) belleğinin bitmasına neden olabileceği anlamına gelir.