2010-06-03 13 views
6

2010-05-06 17:21:22.30 Logon Error: 18456, Severity: 14, State: 6. 2010-05-06 17:21:22.30 Logon Login failed for user . Reason: Attempting to use an NT account name with SQL Server Authentication. [CLIENT: ]Błąd 18456. Stan 6 "Próba użycia nazwy konta NT z uwierzytelnianiem SQL Server."

Tryb uwierzytelniania to "Mieszany". I to jest MS SQL Server 2008.

Jaki może być problem? Czy uważasz, że nazwa użytkownika nie została poprawnie skonfigurowana?

Czy istnieje łącze umożliwiające podanie odpowiednich uprawnień i skonfigurowanie konta użytkownika? Dzięki temu mogę sprawdzić prawa i uprawnienia do używanego acc ...

Odpowiedz

1

Ten problem jest związany z przekazywaniem informacji o koncie NT/Windows w aplikacji, która oczekuje, że używasz uwierzytelniania SQL Server.

Czy jest to aplikacja wewnętrzna lub aplikacja innej firmy? W jaki sposób mówisz, jakiego identyfikatora użytkownika użyć?

Na przykład SQLCMD ma dwa sposoby połączenia - albo wprowadź ID użytkownika & hasło (odpowiednio przełączniki -U i -P), w tym przypadku używa uwierzytelniania SQL, albo informuje, że używa Trusted authentication (switch -E) w takim przypadku przechodzi przez twoje dane logowania do systemu Windows.

Aby wygenerować błąd równoważny z SQLCMD, należy uruchomić SQLCMD -S -U -P.

Jeśli jest to aplikacja wewnętrzna, sprawdź ciąg połączenia i spójrz na numer http://www.connectionstrings.com, aby uzyskać więcej informacji.

Jeśli jest to aplikacja firm trzecich, to jeśli używa DSN ODBC, sprawdź ustawienia i upewnij się, że działa autonomicznie (dostępny jest przydatny przycisk "Połączenie testowe"). Lub poszukaj informacji o połączeniu z bazą danych w plikach konfiguracyjnych aplikacji/ustawieniach rejestru/cokolwiek. W przeciwnym razie sprawdź instrukcję!

+0

Używamy LogonUser API do uwierzytelniania Windows w naszej aplikacji. Do tego interfejsu API są dostarczane tylko poświadczenia konta systemu Windows. Jednak ten interfejs API powraca z błędem określonym w pytaniu – Aragorn

+0

Jaki jest ciąg połączenia, który jest używany do łączenia się z bazą danych? –

2

Czy próbujesz użyć trybu logowania do serwera SQL z nazwą/hasłem NT? Nie dozwolony. Tylko loginy bezpieczeństwa SQL Server, w trybie logowania do programu SQL Server.

Użyj trybu logowania do systemu Windows (nie zezwala na żadne hasło i musi być bieżącym użytkownikiem systemu Windows).

W przeciwnym razie utwórz użytkownika NT jako login dla zabezpieczeń & praw bazy danych w programie SQL Server.

Jeśli próbujesz wykonać logowanie systemu Windows przy użyciu innej nazwy użytkownika, musisz podszywać się pod niego lub uruchamiać go jako ten użytkownik. SQL Server nie ma możliwości używania logowań Windows innych niż bieżący użytkownik.

Powiązane problemy