Aracılığıyla paylaş


MSSQLSERVER_18456

Şunlar için geçerlidir: SQL Server

Ayrıntılar

Özellik Değer
Ürün Adı SQL Server
Olay Kimliği 18456
Olay Kaynağı MSSQLSERVER
Bileşen SQLEngine
Sembolik Ad LOGON_FAILED
İleti Metni Kullanıcı '%.*ls' için giriş başarısız oldu.%.*ls

Explanation

Bağlantı girişimi doğrulama hatası nedeniyle reddedildiğinde bu hata mesajını alıyorsunuz. Kullanıcı girişleri, geçersiz kimlik bilgileri, şifre süresinin dolması ve yanlış kimlik doğrulama modunun etkinleştirilmesi gibi birçok nedenle başarısız olabilir. Birçok durumda, hata kodları açıklamalar içerir.

Kullanıcı eylemi

Aşağıdaki örnekler, yaygın giriş hatalarından bazılarını sunmaktadır. Sorunu çözmek için yaşadığınız tam hatayı seçin:

Kullanıcı '<kullanıcı adı>' veya kullanıcı '<domain>\<username>' için giriş başarısız oldu

Alan adı belirtilmemişse, sorun SQL Server giriş girişiminin başarısız olmasıdır. Alan adı belirtilmişse, sorun Windows kullanıcı hesabında başarısız giriştir. Olası nedenler ve önerilen çözümler için bkz:

Olası neden Önerilen çözüm
SQL Server Authentication kullanmaya çalışıyorsunuz ama SQL Server örneği Windows Kimlik Doğrulama moduna göre yapılandırılmış. SQL Server'ın SQL Server ve Windows Kimlik Doğrulama modunu kullanacak şekilde yapılandırıldığını doğrulayın. SQL Server Yönetim Stüdyosu'nda (SSMS) ilgili örnek için Güvenlik sayfasında Güvenlik bölümünde kimlik doğrulama modunu inceleyip değiştirebilirsiniz. Daha fazla bilgi için, Sunucu kimlik doğrulama modunu değiştir bkz. Alternatif olarak, uygulamanızı SQL Server'a bağlamak için Windows Authentication modunu kullanacak şekilde değiştirebilirsiniz.
Not: Bu senaryo için SQL Server Hata günlüğünde aşağıdaki gibi bir mesaj görebilirsiniz:
Login failed for user '<UserName>'. Reason: An attempt to login using SQL authentication failed. Server is configured for Windows authentication only.
Bir grup üzerinden SQL Server'a erişmeye çalışıyorsunuz ve bir hata mesajı görüyorsunuz. Sunucuya erişmek için gerekli izinlere sahip değilseniz, sağlayıcı "Kullanıcı 'contoso/user1' için giriş başarısız oldu" hata mesajı gösterir. Grup üyeliğinize göre bir sunucuya erişmenize yardımcı olan "Grup üzerinden erişim" özelliğini kullanın.
Saklanan prosedürü xp_logininfo 'contoso/user1' çalıştırdığınızda aşağıdakiler olabilir:
- Bir hata görürseniz, SQL Server kullanıcı adını hiç çözemez. Muhtemelen Active Directory'de (AD) bir isim yok ya da alan kontrolcüsüne (DC) bağlanmada sorunlar olabilir. Sorunun belirli bir hesaba özgü olup olmadığını kontrol etmek için başka bir isimle deneyin.
- Çapraz alanlı bir sunucuya bağlanıyorsanız, grup SQL Server alanında olmalıdır, kullanıcı alanında değil, böylece üyeliği çözülebilir.
- Bir veritabanı sorgusu satır döndürmezse, sunucuya erişim sağlayan bir grup yoktur. Bir sorgu bir veya daha fazla satır döndürdüğünde, kullanıcı erişim sağlayan bir gruba ait olduğu anlamına gelir.
DBA, SQL Server Management Studio (SSMS)'deki Security\Logins klasörünü kontrol ederek izinleri tekrar kontrol edebilir. Security\Logins bölümünde oluşturulan girişlerin listesi görüntülenir. Eğer kapalı bir veritabanıysa, DBA veritabanı adının altında Security\Logins dosyasını kontrol ederek girişleri kontrol edebilir ve yönetebilir.
Daha fazla bilgi için Kullanıcı Erişim Kontrolü ve İzinleri Yapılandır bölümüne bakınız.
SQL girişleri etkinleştirilmemiştir Veritabanı yönetim sistemi (DBMS) mesajın Login failed for user '<username>' bazı varyasyonlarını gösterebilir. Bu hatayı gidermek için şu adımları izleyin:
1. SQL Server hata kaydında "Kullanıcı adı<> için giriş başarısız oldu" hata mesajı olup olmadığını kontrol edin. Sebep: SQL kimlik doğrulama ile giriş girişi başarısız oldu. Sunucu sadece Windows kimlik doğrulaması için yapılandırılmıştır."
2. Hatayı çözmek için aşağıdaki yöntemlerden birini kullanın:
- Entegre giriş kullanın. Örneğin, OLE DB Sağlayıcıları için bağlantı dizisine ekleyin INTEGRATED SECURITY=SSPI , ODBC sürücüleri TRUSTED_CONNECTION=YESiçin ise . .NET sağlayıcısı her iki sözdizimi de kabul eder.
Not: Bu, entegre kimlik doğrulamaya izin verecek şekilde doğru yapılandırılmazsa ve ayrı bir sorun olarak araştırılması gerekirse başka sorunlara yol açabilir.
- Sunucuda SQL girişlerini etkinleştirin:
a. SQL Server Management Studio'da, Object Explorer'da SQL Server adına sağ tıklayın ve Özellikler'i seçin.
b. Güvenlik panelinde, SQL Server ve Windows Kimlik Doğrulama modunu seçin.
c. Tamam'ı seçin.
d. Değişikliğin gerçekleşmesi için SQL Server'ı yeniden başlatın.
Not: Bu, SQL girişi tanımlaması gibi başka sorunlara yol açabilir.
- Kullanıcı adı için yerel bir Windows hesabı veya alan adı belirtmeye çalışın. Sadece SQL girişlerine izin verilir. Uygulama entegre güvenlik kullanmalıdır.
Bağlanmaya çalıştığınız SQL Server örneğinde giriş yok. SQL Server girişinin var olduğundan ve doğru yazdığından emin olun. Giriş yoksa, onu oluştur. Eğer varsa ama yanlış yazılmışsa, bunu uygulama bağlantı dizesinde düzeltin. SQL Server Hata Günlüğü aşağıdaki mesajlardan birini içerir:
- Login failed for user 'username'. Reason: Could not find a login matching the name provided.
- Login failed for user 'Domain\username'. Reason: Could not find a login matching the name provided.Bu, üretime DEV veya QA sunucusu kullanan bir uygulamayı dağıtıp bağlantı dizisini güncelleyemezseniz yaygın bir sorun olabilir. Bu sorunu çözmek için, uygun sunucuya bağlandığınızı doğrulayın. Eğer yoksa, bağlantı dizisini düzeltin. Eğer öyleyse, SQL Server'ınıza giriş erişimi verin. Ya da Windows girişi ise doğrudan erişim verin veya veritabanı sunucusuna bağlanmasına izin verilen yerel veya alan grubuna ekleyin. Daha fazla bilgi için Giriş Oluştur sayfasına bakınız.
SQL Server Authentication kullanıyorsunuz, ancak SQL Server girişi için belirttiğiniz şifre yanlış. Nedeni doğrulamak için SQL hata kaydını "Neden Şifre verilen giriş için eşleşmedi" gibi mesajlar için kontrol edin. Sorunu çözmek için, uygulamanızda doğru şifreyi kullanın veya şifreyi hatırlayamazsanız başka bir hesap kullanın. Alternatif olarak, SQL Server yöneticinizle birlikte hesabın şifresini sıfırlayın.
Uygulama SQL Server Entegrasyon Hizmetleri (SSIS) ise, iş için birden fazla Yapılandırma dosyası seviyesi olabilir ve bu da paketin Bağlantı Yöneticisi ayarlarını geçersiz kılabilir.
Başvuru şirketiniz tarafından yazıldıysa ve bağlantı dizisi programlı olarak oluşturuluyorsa, sorunu çözmek için geliştirme ekibini görevlendirin. Geçici bir çözüm olarak, bağlantı dizisini sabit kodla ve test edin. Bir UDL dosyası veya script kullanarak sabit kodlu bağlantı dizisiyle bağlantının mümkün olduğunu kanıtlayın.
Bağlantı dizisi yanlış sözdizimi, sunucu adı veya kullanıcı kimlik bilgilerine sahiptir. Bunu çözmek için şu adımları izleyin:
  1. Bağlantı dizisi formatını kontrol edin. Bir bağlantı dizisi formatı, sunucu adı, veritabanı adı, kullanıcı adı ve şifre gibi gerekli parametreleri içermelidir.
  2. Bağlantı dizisindeki sunucu adını kontrol edin.
  3. Eğer adlandırılmış bir örnek kullanıyorsanız, örnek adını ekleyin.
  4. Hedef sunucu yanlışsa, bağlantı dizisini doğru sunucuya yönlendirecek şekilde güncelleyin.
  5. Bağlantı dizisi doğruysa, veritabanına giriş erişimi sağlayın. Bunu yapmak için veritabanında bir kullanıcı oluşturun ve ardından o girişe eşleyin.
  6. Windows girişi kullanıyorsanız, girişi veritabanı sunucusuna bağlanmasına izin verilen yerel bir gruba veya alan grubuna ekleyin.
Giriş yok SQL Server'ın aşağıdaki mesajları gösterip göstermediğini kontrol edin:
Logon Error: 18456, Severity: 14, State: 11.
Logon Login failed for user 'CONTOSO\JohnDoe'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: ]
Bazı hatalar Anonim Giriş hesabına aittir. Bu Kerberos sorunuyla ilgili. HOSTS dosyasında yanlış bir manuel giriş vardı, yani yanlış sunucu adı verilmişti.
Kalan sayılar aşağıdaki kategorilere girebilir:
  • Son kullanıcı için girişler reddedildi (veya verilmedi).
  • Hesap, Yöneticiler grubu aracılığıyla erişebiliyordu.
  • Kullanıcının ait olduğu bir grup, SQL Server'da DENY izinlerine sahipti.
Windows kimlik doğrulama ile bağlantı kurmaya çalışıyorsunuz ama yanlış bir alan adına giriş yapıyorsunuz. Doğru alan adına doğru giriş yaptığınızı doğrulayın. Hata mesajı genellikle alan adını gösterir.
Veritabanı izinlerini kontrol edin Veritabanı, SQL Server Management Studio'da çevrimdışı görünmüyor. Diğer kullanıcılar, örneğin DBA, ona bağlanabiliyor.
Söz konusu kullanıcı hesabına veritabanına açık erişim izni verilmeli veya SQL Server rolüne veya veritabanına erişimi olan yerel bir Windows grubuna veya alan grubuna eklenmelidir. Daha fazla bilgi için bkz. KULLANICI YARAT, ROLÜNÜ DEĞIŞTIR VE SUNUCU ROLÜNÜ DEĞIŞTIR
Uygulamanızı (örneğin SSMS) yönetici olarak çalıştırmıyorsunuz. Yönetici kimlik bilgilerinizi kullanarak bağlantı kurmaya çalışıyorsanız, uygulamanızı Yönetici olarak çalıştır seçeneğini kullanarak başlatın. Bağlandığında, Windows kullanıcınızı bireysel giriş olarak ekleyin.
Giriş, kapalı bir veritabanı kullanıcısına geçiş sonrası silinir. Veritabanı Motoru içerikli veritabanlarını destekliyorsa, girişin kapalı veritabanı kullanıcısına geçiş sonrası silinmediğini doğrulayın. Daha fazla bilgi için bkz. ContainDatabase Authentication: Giriş.
Girişin varsayılan veritabanı çevrimdışıdır veya başka şekilde kullanılabilir değildir. SQL Server yöneticinizle görüşün ve veritabanı kullanılabilirliğiyle ilgili sorunları çözün. Giriş işleminin sunucudaki diğer veritabanlarına izinleri varsa ve uygulamanızda mevcut yapılandırılmış varsayılan veritabanına erişmeniz gerekmiyorsa, aşağıdaki seçeneklerden birini kullanın:
- Yöneticiden giriş için varsayılan veritabanını ALTER LOGIN ifadesi veya SSMS kullanarak değiştirmesini istemek.
- Uygulama bağlantı dizesinde farklı bir veritabanı açıkça belirtin. Ya da SSMS kullanıyorsanız, şu anda mevcut olan bir veritabanını belirtmek için Bağlantı Özellikleri sekmesine geçin.SSMS gibi uygulamalar aşağıdaki gibi bir hata mesajı gösterebilir:
Cannot open user default database. Login failed.
Login failed for user <user name>. (Microsoft SQL Server, Error: 4064)
SQL Server Hata Günlüğü aşağıdaki gibi bir hata mesajı verecektir:
Login failed for user '<user name>'. Reason: Failed to open the database '<dbname>' specified in the login properties [CLIENT: <ip address>]
Daha fazla bilgi için bkz. MSSQLSERVER_4064.
Bağlantı dizesinde veya SSMS'de açıkça belirtilen veritabanı yanlış yazılmış, çevrimdışı veya başka şekilde mevcut değildir. - Bağlantı dizisindeki veritabanı adını düzeltin. Sunucuda büyük harf duyarlı bir derleme kullanıyorsanız büyük harf hassasiyetine dikkat edin.
- Veritabanı adı doğruysa, SQL Server yöneticinizle iletişime geçin ve veritabanı kullanılabilirliğiyle ilgili sorunları çözebilirsiniz. Veritabanının çevrimdışı olup olmadığını, kurtarılmadığını ve benzeri şeyleri kontrol edin.
- Giriş girişi, sunucudaki diğer veritabanlarına izinli kullanıcılarla eşleştirildiyse ve uygulamanızda mevcut yapılandırılmış veritabanına erişmeniz gerekmiyorsa, bağlantı dizinizde farklı bir veritabanı belirtin. Ya da SSMS ile bağlanıyorsanız, Bağlantı Özellikleri sekmesini kullanarak şu anda mevcut olan bir veritabanını belirtin.
SQL Server Hata Günlüğü aşağıdaki gibi bir hata mesajı verecektir:
Login failed for user <UserName>. Reason: Failed to open the explicitly specified database 'dbname'. [CLIENT: <ip address>]
Not: Girişin varsayılan veritabanı mevcutsa, SQL Server bağlantının başarılı olmasını sağlar. Daha fazla bilgi için bkz. MSSQLSERVER_4064.
Kullanıcının istenen veritabanına izni yoktur. - Bağlantı kurulup kurulamayacağını görmek için sistem yöneticisi haklarına sahip başka bir kullanıcı olarak bağlantı kurmayı deneyin.
- Veritabanına giriş erişimini vererek ilgili kullanıcıyı oluşturmak (örneğin, CREATE USER [<UserName>] FOR LOGIN [UserName])

Ayrıca, Troubleshooting Error 18456 adresindeki kapsamlı hata kodları listesini kontrol edin.

Daha fazla sorun giderme yardımı için SQL İstemci / Sunucu Bağlantı Sorunları Sorunlarını Giderme bölümüne bakınız.

Kullanıcı NT AUTHORITY\ANONYMOUS LOGON için giriş başarısız oldu

Bu sorun için en az dört senaryo var. Aşağıdaki tabloda, her geçerli olası nedeni inceleyin ve uygun çözümü kullanın: Çift zıplama teriminin açıklaması için tablonun altındaki nota bakınız.

Olası nedenler Önerilen kararlar
Aynı bilgisayarda (örneğin: IIS'den SQL Server'a) NT LAN Manager (NTLM) kimlik bilgilerini bir hizmetten diğer servise aktarmaya çalışıyorsunuz, ancak süreçte bir arıza oluyor. DisableLoopbackCheck veya BackConnectionHostNames kayıtlarını ekleyin.
Birden fazla bilgisayar arasında çift atlama (kısıtlama devri) senaryoları vardır. Hata Kerberos bağlantısı Hizmet Başlıca Adları (SPN) sorunları nedeniyle arızalanırsa meydana gelebilir. Her SQL Server ve web sunucusunda SQLCheck çalıştırın. Sorun giderme rehberlerini kullanın: 0600 Credential Delegation Issue ve 0650 SQL Server Linked Server Delegation Issues.
Eğer çift atlama (kısıtlama delegasyonu) kullanılmıyorsa, muhtemelen tekrarlanan SPN'ler vardır ve istemci LocalSystem veya Kerberos kimlik bilgileri yerine NTLM kimlik bilgilerini alan başka bir makine hesabı olarak çalışıyordur. SPN ile ilgili sorunları teşhis etmek ve düzeltmek için SQLCheck veyaSetspn.exekullanın. Ayrıca SQL Server için Kerberos Yapılandırma Yöneticisi'nin Genel Bakış bölümünü inceleyin.
Windows Yerel Güvenlik politikası, uzaktan kimlik doğrulama talepleri için makine hesabının kullanılmasını engelleyecek şekilde yapılandırılmış olabilir. Yerel Güvenlik Politikası>Yerel Politikalar>Güvenlik Seçenekleri Ağ>güvenliği: Yerel Sistem'in NTLM için bilgisayar kimliğini kullanmasına izin verin, ayar devre dışı bırakılıyorsa Etkin seçeneğini seçin ve ardından OK seçin.
Not: Açıklama sekmesinde detaylandırıldığı gibi, bu politika varsayılan olarak Windows 7 ve sonraki sürümlerde etkindir.
Kısıtlı delegasyon kullanılırken bu sorunun ara olarak ortaya çıkması, orta seviye tarafından yenilenemeyen süresi detmiş bir biletin varlığını gösterebilir. Bu, bağlı sunucu senaryosu veya 10 saatten fazla oturum oturumu tutan herhangi bir uygulamada beklenen bir davranıştır. Orta seviye sunucunuzda delegasyon ayarlarını Sadece belirli hizmetlere delegasyon için bu bilgisayara güven seçeneğinden değiştirin - Sadece belirliservislere delegasyon için bu bilgisayara Güven için Kerberos kullanın - Herhangi bir protokolü kullanın. Daha fazla bilgi için, SQL Server bağlı sunucu çift atlamasının Aralıklı ANONİM LOGON'UNA BAKIN.
NTLM Eş Girişi Bu hata, Microsoft Windows işletim sistemi tarafından kullanılan NTLM kimlik doğrulama protokolüyle ilgilidir. İş istasyonlarında veya birbirine güvenmeyen alan alanlarında bulunan bilgisayarlar arasında iletişim kurarkən, her iki makinede de aynı hesapları oluşturabilir ve NTLM eş doğrulama NTLM Eş Girişi kullanabilirsiniz. Giriş işlemleri yalnızca her iki makinede hem kullanıcı hesabı hem de şifre eşleşirse çalışır.
Geri döngü koruması Loopback koruması, uygulamaların aynı makinedeki diğer hizmetleri çağırmasını engellemek için tasarlanmıştır. Bunu izin verecek şekilde ya DisableLoopbackCheck da BackConnectionHostNames (tercihen) kayıt anahtarlarını ayarlayabilirsiniz. Daha fazla bilgi için, Windows Server 2003 Service Pack 1'i kurduktan sonra FQDN veya CNAME alias kullanarak yerel olarak bir sunucuya erişmeye çalıştığınızda Hata mesajına bakabilirsiniz: Erişim reddedildi veya Hiçbir ağ sağlayıcısı verilen ağ yolunu kabul etmedi.
Always-On Dinleyici Döngü Geri Koruması Ana düğümden Always-On Dinleyiciye bağlandığında, bağlantı NTLM olur. Bu, Loopback Kontrolü'nü başlatır ve kullanıcının güvenilmeyen bir alan adından olduğunu belirten "Giriş başarısız oldu" hatasına yol açar. Bu hatayı çözmek için, Erişilebilirlik Grubu'ndaki tüm makinelerde kayıt anahtarına Listener NETBIOS adını ve tam nitelikli adı BackConnectionHostNames yazın. Daha fazla bilgi için, Windows Server 2003 Service Pack 1'i kurduktan sonra FQDN veya CNAME alias kullanarak yerel olarak bir sunucuya erişmeye çalıştığınızda Hata mesajına bakabilirsiniz: Erişim reddedildi veya Hiçbir ağ sağlayıcısı verilen ağ yolunu kabul etmedi.
LANMAN Uyumluluk Seviyesi Bu genellikle eski bilgisayarlar (Windows 2008 öncesi) ile yeni bilgisayarlar arasında olur.
Tüm bilgisayarlarda LANMAN uyumluluk seviyesini 5'e ayarlayın. Bu aynı zamanda NTLM v1'i de yasaklıyor. Bu sorunu önlemek için Kerberos'a da geçebilirsiniz.
Hassas hesap Bazı hesaplar Active Directory'de Hassas olarak işaretlenmiş olabilir. Bu hesaplar, çift atlama senaryosunda başka bir servise devredilemez.
Kısıtlı bir hedef değil Belirli bir hizmet hesabı için kısıtlı delegasyon etkinleştirilmişse, hedef sunucunun SPN'si kısıtlı delegasyon hedefleri listesinde değilse Kerberos başarısız olur.
Per-Service-SID Bu özellik, yerel bağlantıların kimlik doğrulama yöntemi olarak Kerberos değil, NTLM kullanmasını sınırlar. Hizmet, NTLM kimlik bilgilerini kullanarak başka bir sunucuya tek bir geçiş yapabilir, ancak kısıtlı delegasyon olmadan daha fazla devre verilemez.
NTLM ve kısıtlı delegasyon Hedef bir dosya paylaşımı ise, orta seviye hizmet hesabının delegasyon tipi Constrained-Any olmalı ve Kısıtlı Kerberos değil.

Uyarı

Çift atlama genellikle kullanıcı kimlik bilgilerinin birden fazla uzak bilgisayar arasında devredilmesini içerir. Örneğin, uzak bir SQL Server için SQL2 adında bağlantılı bir sunucu oluşturduğunuz SQL1 adında bir SQL Server örneğiniz var. Bağlantılı sunucu güvenlik yapılandırmasında, girişin mevcut güvenlik bağlamında yapılabilir seçeneğini seçtiniz. Bu yapılandırmayı kullanırken, Client1 adlı uzak bir istemci bilgisayardan SQL1'de bağlantılı bir sunucu sorgusu çalıştırırsanız, Windows kimlik bilgileri önce Client1'denSQL1'e, ardından SQL1'denSQL2'ye geçmek zorunda kalır (bu yüzden buna çift atlama denir). Daha fazla bilgi için, Kerberos Çift Atlaması ve Kerberos Kısıtlı Delegasyon Genel Akışı bkz.

Kullanıcı için giriş başarısız oldu (boş)

Bu hata, bir kullanıcı giriş yapmaya çalıştığında başarısız olduğunda ortaya çıkar. Bu hata, bilgisayarınız ağa bağlı değilse ortaya çıkabilir. Örneğin, aşağıdaki hata mesajına benzer bir mesaj alabilirsiniz:

Source: NETLOGON
Date: 8/12/2012 8:22:16 PM
Event ID: 5719
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <computer name>
Description: This computer was not able to set up a secure session with a domain controller in domain 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.

Boş bir dizimiz, SQL Server'ın kimlik bilgilerini Yerel Güvenlik Otoritesi Alt Sistem Servisi'ne (LSASS) devretmeye çalıştığı ama bazı sorunlar nedeniyle bunu başaramadığı anlamına gelir. Ya LSASS mevcut değildi ya da alan kontrolcüsüyle iletişime geçilemiyordu.

Ayrıca aşağıdaki SSPI hata kodlarını da görebilirsiniz:

SSPI el sıkışması, entegre güvenlik bağlantısı kurarken 0x80090311 hata kodu ile başarısız oldu; bağlantı kapatıldı.

SSPI el sıkışması, entegre güvenlik bağlantısı kurarken hata kodu 0x80090304 ile başarısız oldu; bağlantı kapatıldı.

Bu hata kodları şu şekilde çevrilir:

Hata -2146893039 (0x80090311): Kimlik doğrulama için herhangi bir yetkiliye ulaşılamadı. Hata -2146893052 (0x80090304): Yerel Güvenlik Otoritesi ile iletişime geçilemiyor.

Bu hataları çözmek için, sorunlu DC'yi çevrimdışı bırakabilir veya NLTEST.EXE kullanarak DC'leri değiştirebilirsiniz. - DC'yi sorgulamak için komutu NLTEST /SC_QUERY:CONTOSO çalıştırın. - DC'yi değiştirmek için komutu NLTEST /SC_RESET:CONTOSO\DC03 çalıştırın.

Daha fazla yardıma ihtiyacınız olursa, Microsoft Active Directory ekibiyle iletişime geçin.

İstemci ve sunucudaki olay kayıtlarında, arıza sırasında kaydedilen ağ veya Active Directory ile ilgili mesajlar için kontrol edin. Eğer bulursanız, sorunları çözmek için alan adınız yöneticinizle iletişime geçin.

'(null)' kullanıcı için giriş başarısız oldu

"Null" belirtisi, LSASS'in SQL Server servis hesabı kimlik bilgilerini kullanarak güvenlik tokenını çözememesi anlamına gelebilir. Bu durumun ana nedeni, SPN'nin yanlış hesapla ilişkilendirilmiş olmasıdır.

Sorunu düzeltmek için şu adımları izleyin:

  1. SPN ile ilgili sorunları teşhis etmek ve düzeltmek için SQLCheck veyaSetspn.exekullanın.

  2. SQL Service hesabının delegasyon için güvenilir olup olmadığını kontrol etmek için SQLCheck kullanın. Çıktı hesabın delegasyon için güvenilir olmadığını gösteriyorsa, Active Directory yöneticinizle iletişime geçip hesap için delegasyonu etkinleştirin.

Uyarı

ve -Q komutlarıSETSPN -X, tekrarlanan veya yanlış yerleştirilmiş SPN'leri kontrol etmek için faydalı komutlardır.

  1. Alan Adı Sistemi (DNS) isim çözümleme sorunlarını teşhis edin ve düzeltin. Örneğin:

    • PowerShell betikleri kullanılarak IP adresine ping yapın:

      • ping -a <your_target_machine>(özellikle IPv4 ve -6 IPv6 için kullanılır-4)
      • ping -a <your_remote_IPAddress>
    • NSLookup kullanarak yerel ve uzak bilgisayar adınızı ve IP adresinizi defalarca girin.

  2. Geri dönen sonuçlarda herhangi bir tutarsızlık veya uyumsuzluk olup olmadığını arayın. Ağdaki DNS yapılandırmasının doğruluğu, başarılı bir SQL Server bağlantısı için önemlidir. Yanlış bir DNS girişi, ileride birçok bağlantı sorununa yol açabilir.

  3. Güvenlik duvarlarının veya diğer ağ cihazlarının istemcinin alan kontrolcüsüne bağlanmasını engellemediğinden emin olun. SPN'ler Active Directory'de saklanır. İstemciler dizinle iletişim kuramazsa, bağlantı başarılı olamaz.

Ek hata bilgisi

Güvenliği artırmak için, istemciye geri gönderilen hata mesajı doğrulama hatasının niteliğini kasıtlı olarak gizler. Ancak, SQL Server hata günlüğünde, karşılık gelen bir hata durumu kimlik doğrulama hata durumuna eşlenen bir durum içerir. Giriş hatasının nedenini belirlemek için hata durumunu aşağıdaki listeyle karşılaştırın.

Devlet Description
1 Hata bilgisi mevcut değil. Bu durum genellikle hata detaylarını almak için izniniz olmadığı anlamına gelir. Daha fazla bilgi için SQL Server yöneticinizle iletişime geçin.
2 Kullanıcı kimliği geçerli değil.
5 Kullanıcı kimliği geçerli değil.
6 SQL Server Authentication ile Windows giriş adı kullanmaya çalışıldı.
7 Giriş devre dışı bırakılıyor ve şifre yanlış.
8 Şifre yanlış.
9 Şifre geçerli değil.
11 Giriş geçerli ama sunucu erişimi başarısız oldu. Bu hatanın olası nedenlerinden biri, Windows kullanıcısının yerel yöneticiler grubunun bir üyesi olarak SQL Server'a erişimi olması ancak Windows'un yönetici kimlik bilgileri sağlamamasıdır. Bağlanmak için, Çalıştır olarak yönetici seçeneğiyle bağlantı programını başlatın ve ardından Windows kullanıcısını SQL Server'a özel bir giriş olarak ekleyin.
12 Giriş geçerli giriş ama sunucu erişimi başarısız oldu.
18 Şifre değiştirilmeli.
38, 46 Kullanıcı tarafından talep edilen veritabanı bulamadım.
58 SQL Server yalnızca Windows Kimlik Doğrulaması kullanacak şekilde ayarlandığında ve bir istemci SQL kimlik doğrulaması ile giriş yapmaya çalıştığında. Bir diğer neden ise SID'lerin eşleşmemesi.
62 Windows Kimlik Doğrulama hesabı kapalı bir veritabanına erişmeye çalıştığında ve içindeki veritabanı var, ancak SID'ler eşleşmiyor.
102 - 111 Azure AD hatası.
122 - 124 Boş kullanıcı adı veya şifre nedeniyle başarısızlık.
126 Kullanıcı tarafından talep edilen veritabanı mevcut değil.
132 - 133 Azure AD hatası.

Başka hata durumları da vardır ve beklenmedik bir iç işlem hatasını gösterir.

Daha nadir olası bir neden

Hata nedeni : SQL kimlik doğrulama ile giriş girişi başarısız oldu. Sunucu yalnızca Windows kimlik doğrulaması için yapılandırılmıştır. aşağıdaki durumlarda iade edilebilir.

  • Sunucu karışık mod kimlik doğrulaması için yapılandırıldığında ve bir ODBC bağlantısı TCP protokolünü kullandığında, bağlantı bağlantının güvenilir bir bağlantı kullanması gerektiğini açıkça belirtmediğinde.

  • SQL Server karışık mod kimlik doğrulaması için yapılandırıldığında, ODBC bağlantısı isimli borular kullandığında ve istemcinin isimlendirilmiş boruyu açmak için kullandığı kimlik bilgileri otomatik olarak kullanıcının kimliğine girerse ve bağlantı dizisi güvenilir bir kimlik doğrulamanın kullanımını açıkça belirtmez.

Bu sorunu çözmek için, bağlantı dizisine ekleyin TRUSTED_CONNECTION = TRUE .

Örnekler

Bu örnekte, kimlik doğrulama hata durumu 8'dir. Bu, şifrenin yanlış olduğunu gösterir.

Date Kaynak Message
2007-12-05 20:12:56.34 Logon Hata: 18456, Şiddet: 14, Eyalet: 8.
2007-12-05 20:12:56.34 Logon '<user_name>' kullanıcı için giriş başarısız oldu. [MÜZEKTER: <ip adresi>]

Uyarı

SQL Server Windows Authentication modunda kurulduğunda ve daha sonra SQL Server ile Windows Authentication moduna geçtiğinde, sa girişi başlangıçta devre dışı bırakılır. Bu, durum 7 hatasına yol açıyor: "Kullanıcı 'sa' için giriş başarısız oldu." SA girişini etkinleştirmek için Sunucu Kimlik Doğrulama Modunu Değiştir sayfasına bakınız.

Ayrıca bakınız