2009-11-12 11 views
170

Używam systemu Windows Vista i mam problem z zalogowaniem się z nowo utworzonym użytkownikiem.SQL Server 2008 nie może zalogować się z nowo utworzonym użytkownikiem.

  1. Otwieram program SQL Server Management Studio.
  2. Tworzę nowy login, klikając prawym przyciskiem myszy Zabezpieczenia-> Logowania.
    Sprawdź: SQL Server Authentication
    nazwa Login: tester
    Hasło: test
    Kliknij OK
  3. dodałem tego użytkownika do mapowania użytkownika do mojej bazy danych z wyboru.
  4. Kliknij opcję Plik -> Podłącz Eksplorator obiektów, wybierz opcję Uwierzytelnianie serwera SQL i wprowadź tester/test, a następnie kliknij przycisk Połącz.

pojawia się 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 mogę się zalogować z moim użytkownik?

Odpowiedz

404

Program SQL Server nie został skonfigurowany do zezwalania na mieszane uwierzytelnianie.

Oto kroki, aby naprawić:

  1. prawym przyciskiem myszy na SQL Server na przykład pierwiastka Object Explorer, kliknij przycisk Właściwości
  2. wybrać opcję Security z panelu po lewej stronie.
  3. Wybierz przycisk opcji Serwer SQL i uwierzytelnianie systemu Windows, a następnie kliknij przycisk OK.

    enter image description here

  4. prawym przyciskiem myszy na wystąpienie SQL Server, wybierz Restart (alternatywnie, otworzyć Usługi i ponownie uruchomić usługę SQL Server).

Jest to bardzo pomocne dla użytkowników produktu IBM Connections, ponieważ moi kreatorzy nie mogli się połączyć, dopóki nie ustawiłem tego ustawienia.

+6

Myślę, że to dobrze, ponieważ pozwala potencjalnym ratownikom wiedzieć, że problem został rozwiązany. Przyczynia się również do coraz większej ilości dokumentacji, którą inni deweloperzy mogą wykorzystać do znalezienia własnych odpowiedzi w przyszłości. –

+0

Zrobiłem wszystko, z wyjątkiem restartowania usługi SQL ... D'oh, powinienem był o tym pomyśleć. Dzięki! –

+3

Z pewnością nie jest źle odpowiedzieć na własne pytania. Nawet lata po danych Twoja odpowiedź była dla mnie przydatna! – johanvdw

2

Będziesz prawdopodobnie trzeba sprawdzić SQL Server dzienniki błędów w celu określenia rzeczywisty stan (to nie jest zgłaszane do klienta ze względów bezpieczeństwa). Patrz here szczegóły.

+0

Dzięki .. Ja już do tej strony. Zauważ, że nie wspomina o tym, co oznacza Stan = 1 w rzeczywistości. Grr ... ale teraz jestem dobry. –

+0

Strona wyjaśnia, że ​​stan zalogowania w dzienniku błędów programu SQL Server będzie inny niż stan zgłoszony użytkownikowi. – GuyBehindtheGuy

11

Jeśli nie zrestartujesz serwera bazy danych SQL po wprowadzeniu zmian w logach, upewnij się, że to zrobiłeś. Start ->Programs ->Microsoft SQL Server ->Configuration tools ->SQL Server configuration manager ->Restart Server.

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

+0

Dzięki za uwagę .. Zapomniałem wspomnieć, że edytowałem mapowanie użytkowników, aby to zrobić. –

+0

Stary wątek Wiem, ale musiałem dodać nowe logowanie do serwera, zanim będę mógł dodać nowego użytkownika do bazy danych. Serwer> Bezpieczeństwo> Logowanie> Prawy przycisk myszy, Nowe logowanie Serwer> Bazy danych> Wybierz bazę danych> Bezpieczeństwo> Użytkownicy> Prawy przycisk myszy, Nowy użytkownik. –

0

zalogować się do serwera jako administrator

Go do bezpieczeństwa> logowania> Nowy Logowanie

Krok 1:

Login Name : SomeName 

Krok 2:

Select SQL Server/Windows Authentication. 

Więcej informacji na temat, what is the differences between sql server authentication and windows authentication..?

wybierzesz DB i język wyboru

kliknij OK

spróbować połączyć się z poświadczeniami nowy użytkownik będzie poproszony o zmianę hasła. Zmienić i zalogować

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