SQL Server 2008 nie może zalogować się do nowo utworzonego użytkownika


200

Korzystam z systemu Windows Vista i mam problem z zalogowaniem się do nowo utworzonego użytkownika.

  1. Otwieram SQL Server Management Studio.
  2. Tworzę nowy login, klikając prawym przyciskiem myszy Bezpieczeństwo-> Loginy.
    Sprawdź: Uwierzytelnianie programu SQL Server
    Nazwa logowania: tester
    Hasło: test
    Kliknij OK
  3. Dodałem tego użytkownika do Mapowania użytkowników do mojej wybranej bazy danych.
  4. Kliknij opcję Plik -> Połącz obiekt eksploratora, wybierz opcję Uwierzytelnianie serwera SQL, wprowadź tester / test i kliknij Połącz.

Dostaję błąd:

Login failed for user 'tester'. (Microsoft SQL Server, Error: 18456" 
with Severity = 14 and State = 1.

Co powoduje ten błąd i jak zalogować się do mojego użytkownika?

Odpowiedzi:


480

Program SQL Server nie został skonfigurowany w celu umożliwienia uwierzytelniania mieszanego.

Oto kroki, które należy naprawić:

  1. Kliknij prawym przyciskiem myszy wystąpienie programu SQL Server w katalogu głównym Eksploratora obiektów, kliknij polecenie Właściwości
  2. Wybierz Zabezpieczenia z lewego panelu.
  3. Wybierz przycisk opcji Tryb uwierzytelniania SQL Server i Windows, a następnie kliknij OK.

    wprowadź opis zdjęcia tutaj

  4. Kliknij prawym przyciskiem myszy wystąpienie programu SQL Server, wybierz opcję Uruchom ponownie (alternatywnie otwórz Usługi i zrestartuj usługę SQL Server).

Jest to również niezwykle pomocne dla użytkowników IBM Connections, moje kreatory nie mogły się połączyć, dopóki nie wyłączyłem tego ustawienia.


8
Myślę, że to dobrze, ponieważ pozwala potencjalnym respondentom wiedzieć, że problem został rozwiązany. Przyczynia się także do powiększania się dokumentacji, z której inni programiści mogą korzystać w przyszłości w celu znalezienia własnych odpowiedzi.

4
Odpowiadanie na własne pytania zdecydowanie nie jest złe. Nawet lata po danych Twoja odpowiedź była dla mnie przydatna!
johanvdw

4
Miałem ten sam problem. Szukałem rozwiązania przez wiele godzin. Próbowałem wszystkiego, co mogłem, aby to rozwiązać, ale się nie stało. Potem zobaczyłem ten post. Myślałem, że ponowne uruchomienie usługi to coś, czego nie próbowałem. Ponownie uruchomiłem usługę i zadziałała! Potem zalogowałem się tylko po to, żeby powiedzieć ... DZIĘKUJĘ
Answer_42

16
Winą powinien być absurdalny komunikat o błędzie. Gdyby powiedział coś w stylu „Nie można się zalogować. Uwierzytelnianie programu SQL Server jest niedozwolone. Serwer jest skonfigurowany tak, aby zezwalał tylko na uwierzytelnianie systemu Windows. Prosimy o kontakt ...” zaoszczędziłoby wiele bólu.
rpattabi

5
@ Tony Ciekawe. Dzięki. Mimo to nie jestem przekonany, że bezpieczeństwo jest ważną wymówką, która utrudnia użyteczność. W komunikacie mogło być coś, co wskazywałoby użytkownikowi na rozwiązanie problemu.
rpattabi

14

Jeśli po wprowadzeniu zmian logowania nie uruchomiono ponownie serwera bazy danych SQL, upewnij się, że to zrobisz. Start-> Programs-> Microsoft SQL Server-> Configuration tools-> SQL Server configuration manager-> Restart Server.

Wygląda na to, że dodałeś tylko użytkownika do serwera. Musisz także dodać je do bazy danych. Otwórz bazę danych / Bezpieczeństwo / Użytkownik / Dodaj nowego użytkownika lub otwórz serwer / Bezpieczeństwo / Loginy / Właściwości / Mapowanie użytkowników.


Dzięki za zauważenie. Zapomniałem wspomnieć, że edytowałem mapowanie użytkowników, aby to zrobić.
Travis Heseman,

Stary wątek, wiem, ale musiałem dodać nowy login do serwera, zanim mogłem dodać nowego użytkownika do bazy danych. Serwer> Bezpieczeństwo> Loginy> Kliknij prawym przyciskiem myszy, Nowy serwer logowania> Bazy danych> Wybierz bazę danych> Bezpieczeństwo> Użytkownicy> Kliknij prawym przyciskiem myszy, nowy użytkownik.
red_dorian

2

Najprawdopodobniej będziesz musiał sprawdzić dzienniki błędów programu SQL Server, aby określić rzeczywisty stan (nie jest zgłaszany klientowi ze względów bezpieczeństwa.) Zobacz tutaj, aby uzyskać szczegółowe informacje.


Dzięki .. Byłem już na tej stronie. Zauważ, że nie wspomina o tym, co faktycznie oznacza stan = 1. Grr ... ale teraz mam się dobrze.
Travis Heseman,

Jak wyjaśnia strona, stan zalogowany w dzienniku błędów SQL Server będzie inny niż stan zgłoszony użytkownikowi.
GuyBehindtheGuy

1

Zaloguj się do serwera jako administrator

Przejdź do Bezpieczeństwo> Loginy> Nowy login

Krok 1:

Login Name : SomeName

Krok 2:

Select  SQL Server / Windows Authentication.

Więcej informacji na temat, jakie są różnice między uwierzytelnianiem serwera SQL i uwierzytelnianiem systemu Windows ..?

Wybierz domyślną bazę danych i język

Kliknij OK

Spróbuj połączyć się z danymi uwierzytelniającymi nowego użytkownika. Zostaniesz poproszony o zmianę hasła. Zmień i zaloguj się

LUB

Spróbuj z zapytaniem:

USE [master] -- Default DB
GO

CREATE LOGIN [Username] WITH PASSWORD=N'123456', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO

--123456 is the Password And Username is Login User 
ALTER LOGIN [Username] enable -- Enable or to Disable User
GO
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.