18456: Login failed for user (Anmeldung für Benutzer fehlgeschlagen)
SQL ServerWas bedeutet das?
Ein Anmeldeversuch wurde bei der Authentifizierung abgelehnt. Benutzername/Passwort können falsch sein, das Konto kann deaktiviert sein oder der Benutzer hat keinen Zugriff auf die Datenbank.
Ursache
Falsches Passwort, nicht existierender Login, deaktiviertes/gesperrtes Konto, Verwendung eines SQL-Logins, obwohl nur Windows-Authentifizierung aktiviert ist, oder kein Zugriff auf die Standarddatenbank. Der State-Code im Fehlertext nennt die tatsächliche Ursache (State 5: Login existiert nicht, State 7: Login deaktiviert und Passwort ebenfalls falsch, State 8: falsches Passwort (am häufigsten), State 18: Passwort muss geändert werden, State 38: die angegebene Datenbank kann nicht geöffnet werden, State 58: SQL-Login versucht, während der Server im reinen Windows-Authentifizierungsmodus läuft).
Lösung
Ermittle die Grundursache über den State-Wert im SQL Server Error Log (Details werden aus Sicherheitsgründen nicht an den Client gesendet). Prüfe Benutzername/Passwort. Prüfe, ob der Server im Modus 'SQL Server and Windows Authentication Mode' (Mixed Mode) läuft; hast du ihn geändert, starte den Dienst neu. Prüfe die User-Zuordnung des Logins und die Zugriffsberechtigung in der Zieldatenbank.
Weitere Einträge zu dieser Datenbank
- 2627Violation of PRIMARY KEY / UNIQUE KEY constraint. Cannot insert duplicate key in object (Verletzung des PRIMARY-KEY-/UNIQUE-KEY-Constraints; doppelter Schlüssel nicht einfügbar)
- 2601Cannot insert duplicate key row in object with unique index. The duplicate key value is ... (doppelte Schlüsselzeile in Objekt mit Unique Index nicht einfügbar)
- 547The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint (Statement kollidiert mit FOREIGN-KEY-/CHECK-Constraint)
- 8152String or binary data would be truncated (String- oder Binärdaten würden abgeschnitten)
- 2628String or binary data would be truncated in table, column ...; truncated value (Daten würden in Tabelle/Spalte abgeschnitten; abgeschnittener Wert)
- 1222Lock request time out period exceeded (Timeout der Sperranforderung überschritten)
- 9002The transaction log for database is full due to ... (Transaktionslog der Datenbank ist voll wegen ...)