Błąd logowania uwierzytelniania systemu Windows w SQL Server 2008: login pochodzi z niezaufanej domeny

110

Podczas próby połączenia się z wystąpieniem programu SQL Server 2008 przy użyciu programu Management Studio otrzymuję następujący błąd:

Logowanie nie powiodło się. Dane logowania pochodzą z niezaufanej domeny i nie mogą być używane z uwierzytelnianiem systemu Windows. (Microsoft SQL Server, błąd: 18452)

Mogę bez problemu zalogować się przy użyciu uwierzytelniania SQL. Nagle otrzymuję ten błąd. Mam włączone uwierzytelnianie w trybie mieszanym.

Czy ktoś ma z tym jakieś doświadczenie?

Dodatkowe informacje: 64-bitowa wersja SQL Enterprise Edition w systemie Windows 2003 Server

jinsungy
źródło
1
jakie jest konto logowania systemu Windows używane do łączenia się z serwerem sql?
Gulzar Nazim
1
to moje konto domeny, którego używam od zawsze
jinsungy
2
jakieś zmiany ostatnio jak zmiana hasła? czasami dane uwierzytelniające są zapisywane w pamięci podręcznej ...
Gulzar Nazim
1
brak zmian w ostatnim czasie .. jedyną rzeczą, jaka się wydarzyła, był restart naszych serwerów ..
jinsungy

Odpowiedzi:

49

Innym powodem, dla którego może się to zdarzyć (mi się to przydarzyło) ... jest wygaśnięcie hasła użytkownika. Nie zdawałem sobie z tego sprawy, dopóki nie spróbowałem zdalnie połączyć się z rzeczywistym serwerem i zostałem poproszony o zmianę hasła.

mattruma
źródło
Właśnie miałem ten problem. Co zaskakujące, nadal mogłem połączyć się z serwerem Analysis Server: O
GôTô,
Potwierdzam ... to było przyczyną tego samego problemu dla mnie. Aktualizacja hasła natychmiast rozwiązała problem z połączeniem!
wjhguitarman
1
Po prostu wydarzyło się dla mnie (Win 10), chociaż nie chodziło o to, że moje hasło wygasło, po prostu zmieniłem je za pomocą `` Ctrl-Alt-Del ''. Uruchomiłem ponownie i znowu było dobrze. Niezwykle irytujące, zmiana hasła wpłynęła również na zdolność działania programu Outlook i OneDrive.
aSystemOverload
Dzięki, uratowałem mi życie
user3201809
Zmieniłem moje hasło za pomocą Ctrl-Alt-Del, (Win10) i zacząłem otrzymywać ten błąd. Ponowne uruchomienie nie rozwiązało problemu.
Ymagine First
38

U mnie stało się tak, gdy edytowałem pusty drivers/etc/hostsplik i dodałem wpis dotyczący lokalnej witryny internetowej, ale zaniedbałem dodanie127.0.0.1 localhost

memnoch_proxy
źródło
1
U mnie też zadziałało. Jakoś miałem wpis w pliku hosts, którego nie powinno tam być (sam go tam nie umieściłem i nie pamiętam instalacji żadnego oprogramowania, które mogłoby to zrobić). Usunięcie go rozwiązało problem
LazyOne
2
W systemie Windows możesz zaktualizować ten plik, wykonując to rackspace.com/knowledge_center/article/…
oaamados
1
Uratowałeś mi dzień! Dziękuję
Houari
29

Problem był spowodowany przez wyłączony serwer Active Directory, który oczywiście nie mógł uwierzytelnić konta Windows. Dziękuję za pomoc.

jinsungy
źródło
18

Dla każdego, kto napotka na to, mam to w moim pliku hosts:

127.0.0.1   localhost
127.0.0.1   customname

i potrzebowałem, żeby to było:

127.0.0.1   localhost
127.0.0.1   localhost   customname
tster
źródło
16

„Problem został spowodowany przez wyłączony serwer Active Directory, który oczywiście nie mógł uwierzytelnić konta systemu Windows”

To nie jest „oczywiście - ponieważ jeśli AD nie jest dostępne, uwierzytelnianie Kerberos powraca do NTLM (poświadczenia konta domeny są buforowane lokalnie, można się nim zalogować, nawet jeśli AD / Kerberos nie jest dostępny). jednoczesne warunki wystąpienia tego niepowodzenia:

  • SQL Server nie jest lokalny (na innym komputerze)
  • Zaufanie jest skonfigurowane „Tylko Kerberos”

lub inne specyficzne konfiguracje sieci / serwera / AD / maszyny zabezpieczającej

Gennady Vanin Геннадий Ванин
źródło
2
Widziałem również ten problem z nazwanymi serwerami AD na komputerze lokalnym FWTW
Keith Hoffman
1
Więc co powinienem zrobić, jeśli serwer SQL nie jest lokalny?
Behnam Heydari
Gdzie i jak zmienić konfigurację „zaufania”, która obecnie jest „tylko Kerberos”?
TPAKTOPA
10

Miałem ten problem z instancją serwera na moim komputerze lokalnym i stwierdziłem, że jest to spowodowane wskazaniem adresu 127.0.0.1 z czymś innym niż „localhost” w moim pliku hosts. Istnieją dwa sposoby rozwiązania tego problemu w moim przypadku:

  1. Wyczyść obraźliwy wpis wskazujący na 127.0.0.1 w pliku hosts
  2. użyj „localhost” zamiast innej nazwy, która w pliku hosts wskazuje na 127.0.0.1

* To działało tylko wtedy, gdy uruchamiałem instancję serwera sql na moim komputerze lokalnym i próbowałem uzyskać do niej dostęp z tej samej maszyny.

Josh
źródło
10

Upewnij się, że nie masz połączenia z siecią VPN w innej domenie \ użytkownik . Albo odwrotnie, upewnij się, że podłączone, jeśli to, co jest wymagane.

David Murdoch
źródło
Wow, nigdy bym nie pomyślał !! Dzięki! (Byłem połączony z firmowym VPN na MBP, używając SSMS na VMWare)
jenjenut233
To pomogło w moim przypadku. Musiałem użyć nazwy domeny w połączeniu VPN.
arni
To był mój problem. Miałem zostawić to jako odpowiedź, ale znalazłem twoją pierwszą. Kiedy to zobaczyłem, miało to sens. dzięki
billpennock
4

Naprawiłem ten problem na komputerze wyłączając ustawienie kontroli sprzężenia zwrotnego:

  1. Edytuj rejestr systemu Windows: Start -> Uruchom> Regedit
  2. Przejdź do: HKLM \ System \ CurrentControlSet \ Control \ LSA
  3. Dodaj wartość DWORD o nazwie „DisableLoopbackCheck”
  4. Ustaw tę wartość na 1
Diogo
źródło
3

spróbuj użyć innego prawidłowego loginu za pomocą polecenia RUNAS

runas /user:domain\user C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\ssmsee.exe 

runas /user:domain\user C:\WINDOWS\system32\mmc.exe /s \”C:\Program Files\Microsoft SQL Server\80\Tools\BINN\SQL Server Enterprise Manager.MSC\”" 

runas /user:domain\user isqlw 
Gulzar Nazim
źródło
Próbowałem tego z innym kontem systemu Windows w tej samej domenie i otrzymałem ten sam błąd.
jinsungy
spróbuj uzyskać dzienniki zdarzeń serwera i klienta. Myślę, że potrzebujemy więcej szczegółów.
Gulzar Nazim
3

Dla mnie było to spowodowane tym, że nie dodałem konta, aby mieć role, których chciałem użyć, do samej bazy danych SQL. A także z powodu prób podania złego hasła za pośrednictwem konta blokującego problem z kopiowaniem wklejania.

Mikrofon
źródło
3

Okej, odpowiedź ode mnie. Otrzymałem ten błąd ze środowiska programistycznego hostowanego na VM VirtualBox. Trzy serwery; SharePoint, SQL DB i kontroler domeny. Serwer SharePoint nie mógł połączyć się z bazą danych konfiguracji. Nadal mogę połączyć się przez ODBC w celu uwierzytelnienia Sql przy użyciu konta SA, ale nie uwierzytelnienia systemu Windows. Ale ten użytkownik szczęśliwie zalogowałby się do SSMS na samym serwerze sql. Otrzymałem również lepszy komunikat o błędzie od ODBC, a także po sprawdzeniu nieudanych komunikatów logowania na serwerze sql:

select text from sys.messages where message_id = '18452' and language_id = 1033

Nie mogę tego przypisać, ponieważ poprosiłem jednego z naszych administratorów systemów przedsiębiorstwa o pomoc i zdiagnozował to w ciągu około 5 minut, patrząc na kilka zrzutów ekranu, które mu wysłałem. Problem polegał na tym, że zegar kontrolera domeny był ustawiony nieprawidłowo! Nie mogłem w to uwierzyć. Serwery są skonfigurowane do pracy w sieci tylko host, więc nie mają internetu do synchronizacji zegara. To wyjaśnia również, dlaczego przywrócenie wcześniejszej migawki, gdy wiem, że system działał, nie rozwiązało problemu.

Edycja: Zainstalowanie dodatków dla gości na serwerze synchronizuje zegar gościa z hostem.

Matthew Radford
źródło
W tym roku miałem również problemy z uwierzytelnianiem AD, które ostatecznie zostały przypisane do złego ustawienia zegara na jednym z naszych kontrolerów domeny. Musiałem użyć programu Wireshark, aby udowodnić naszemu działowi IT, że był to problem z siecią, ale kiedy sprawiłem, że wyglądają ... naprawili zegar i wszystko było w porządku.
Ty H.,
3

W sterowniku jTDS znajduje się ustawienie o nazwie USENTLMV2, które domyślnie ma wartość false. Ustawienie tego na „prawda” w moim oprogramowaniu db (DBVisualizer) rozwiązało problem.

fossa83
źródło
3

Innym scenariuszem, w którym może się to pojawić, jest próba połączenia się z innym serwerem SQL z sesji SSMS, która była już zalogowana podczas zmiany hasła. Sekwencja wydarzeń może wyglądać następująco:

  1. RDP do Server-A (twój SQL Server), otwórz SSMS i zaloguj się
  2. RDP na Server-B w tej samej domenie i zmień swoje hasło
  3. Wróć do sesji RDP na serwerze A i za pośrednictwem programu SSMS spróbuj dodać kolejną bazę danych do istniejącej grupy dostępności AlwaysOn. Podczas łączenia się z replikami pojawia się błąd „niezaufana domena” -login-error

Aby rozwiązać ten problem, po prostu wyloguj się i zaloguj ponownie

DRCRON
źródło
3

Możesz zostać wprowadzony w błąd co do nazwy użytkownika, której używasz lokalnie. Tak było w moim przypadku w systemie Windows 10 Home. Kiedy patrzę na użytkowników w panelu sterowania, widzę nazwę usrpc01 . Jednak kiedy piszę net config workstation, okazuje się, że nazwa użytkownika to spc01 . Wygląda na to, że ktoś zmienił nazwę użytkownika, ale nazwa wewnętrzna pozostała niezmieniona.

Nie wiedząc, jak naprawić nazwę użytkownika systemu Windows (i nazwę folderu pod C:\Users, która również odnosi się do pierwotnej nazwy wewnętrznej), dodałem nowe konto użytkownika na moim serwerze db.

Jarekczek
źródło
1

Próbowałem zalogować się do programu SQL Server 2008 z konta domeny. SQL Server 2008 jest hostowany na innym komputerze grupy roboczej, który nie jest częścią domeny. Choć brzmi to dziwnie, na serwerze grupy roboczej, na którym działa SQL Server 2008, musiałem przejść do Właściwości systemu | Nazwa komputera (karta) | Zmień (przycisk) | Zmiana nazwy komputera | Więcej ... (przycisk) i wpisz „Sufiks podstawowego DNS tego komputera” (było puste, więc wprowadź żądany sufiks dla swojej sieci) i zaznacz pole „Zmień sufiks podstawowego DNS po zmianie członkostwa w domenie”. Pozwoliło to na zakończenie procesu uwierzytelniania systemu Windows podczas logowania do programu SQL Server 2008.

drogie
źródło
1

Musiałem użyć netonly, aby to działało na nowoczesnym systemie Windows:

runas /netonly /user:domain\user "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\ssms.exe"

Fil
źródło
1

Inny powód> ktoś zmienił hasło dla domyślnego użytkownika SQL

zdarzyło mi się to kilka minut temu, przełączając się na nowy kontroler domeny ...

Stefan Michev
źródło
Po prostu mi się przydarzyło.
Jakiś
1

Miałem zły wpis w pliku hosts pod C:\Windows\System32\drivers\etc

[Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.

Upewnij się, że masz wpis jak poniżej

127.0.0.1   localhost
127.0.0.1   localhost   servername
user3808727
źródło
1

Używałem aliasu dla instancji SQL Server, która wskazywała na „127.0.0.1”. Zamiast tego zmiana na „localhost” załatwiła sprawę.

lauxjpn
źródło
1

Jeśli serwer Sql działa na serwerze, który nie jest częścią domeny, aw ciągu połączenia używasz w pełni kwalifikowanej nazwy domeny (np. Xyz.mypc.com) z Integrated Security = True, być może będziesz musiał przełączyć się na używanie adres IP, MachineName (SERVER01) lub kropka (.) w przypadku, gdy jest hostowany lokalnie.

To zadziałało dla mnie, użycie fqdn spowodowało powyższy błąd.

John K.
źródło
0

aby włączyć uwierzytelnianie systemu Windows, oba komputery muszą znajdować się w tej samej domenie. aby umożliwić studiom zarządzania przekazywanie bieżących poświadczeń i uwierzytelnianie w polu sql

Oscar Cabrero
źródło
3
To jest niedokładne. Nie muszą znajdować się w tej samej domenie. Mogą znajdować się w różnych domenach, jeśli konto o tej samej nazwie i haśle jest skonfigurowane w obu domenach.
Cody Schouten
0

W moim przypadku muszę się rozłączyć (zmienić grupę roboczą / domenę) z domeny i ponownie połączyć.

f01
źródło
Czy masz na myśli połączenie przy użyciu konta lokalnego ze zdalnym serwerem SQL w grupie roboczej? Będzie to działać tylko wtedy, gdy konta gościa (lub inne typowe) z tym samym hasłem są włączone zarówno na maszynie SQL Server, maszynie łączącej, jak iw samym serwerze SQL jako login.
Gennady Vanin Геннадий Ванин
Mam na myśli odłączenie, a następnie ponowne nawiązanie kontaktu z grupą domeny. Następnie spróbuj ponownie zalogować się przy użyciu uwierzytelniania systemu Windows (poświadczeń domeny) na zdalnym serwerze MSSQL.
f01
0

I jeszcze jeden możliwy powód: Nowo utworzone konto lokalne na serwerze DB miało ustawioną flagę: „Użytkownik musi zmienić hasło przy następnym logowaniu”.

icnivad
źródło
0

Oto, co mi to rozwiązało: Właściwości połączenia sieciowego Kliknij: „Protokół internetowy w wersji 4 (TCT / IPv4)”. Kliknij przycisk „Właściwości”. Kliknij przycisk „Zaawansowane”. Wybierz kartę „DNS”. Usuń tekst w polu „Sufiks DNS dla tego połączenia”.

Dennis Gorelik
źródło
0

Nie udało mi się również połączyć zdalnie z serwerem SQL. Zarówno serwer SQL, jak i serwer zdalny znajdują się w tej samej domenie. Kilka dni wcześniej poproszono mnie o zmianę hasła. Zrestartowanie zarówno serwera SQL, jak i serwera zdalnego, z którego próbowałem uzyskać dostęp do serwera SQL, załatwiło sprawę.

Dekemi
źródło
0

W naszym przypadku był to fakt, że programista uruchomił pulę aplikacji na swoim koncie i zresetował swoje hasło, ale zapomniał je zmienić w puli aplikacji. Aha ...

Ronald Kunenborg
źródło
0

W moim przypadku serwer został wyłączony w kontrolerze domeny. Wszedłem do OU KOMPUTERÓW w Active Directory, kliknąłem prawym przyciskiem na serwerze, włączyłem go, a następnie wykonałem gpupdate / force z serwera SQL. Zajęło to chwilę, ale w końcu zadziałało.

Doug Gallardo Jr
źródło
0

W moim przypadku w pliku hosta nazwa komputera jest zakodowana na stałe za pomocą starszego adresu IP. Wymieniam starsze IP na nowe, problem rozwiązany.

Lokalizacja pliku hosta

WindowsDrive: \ Windows \ System32 \ drivers \ etc \ hosts

Modyfikacje wykonane 159.xx.xx.xxx MachineName

Jeno Karthic
źródło
0

Żadne z powyższych nie działało dla mnie. Co musiałem zrobić, to: W SQL Server Management Studio na ekranie logowania wybierz Opcje >> W sekcji Sieć zmień protokół sieciowy na Named Pipes.

Ponadto musiałem zrobić, aby działało z <default>ustawieniem, aby wyłączyć sieć bezprzewodową (urządzenie było również podłączone do przewodowej sieci LAN).

DeclanMcD
źródło
0

Moja poprawka polegała na zmianie pliku web.config, aby był skorelowany z moją nową nazwą serwera dla połączenia SQL (IT Security właśnie dokonał zmiany nazwy domeny sieciowej na moim komputerze programistycznym.

Devin Prejean
źródło