Anmeldung bei Microsoft SQL Server Fehler: 18456


295

Beim Versuch, eine Verbindung zum SQL Server herzustellen, wird dieser Fehler angezeigt.

Microsoft SQL Server-Fehler: 18456

Kann mir jemand sagen, was der Fehlercode bedeutet?


6
Eine flüchtige Suche scheint darauf hinzudeuten, dass der Fehlercode ein Anmeldefehler ist und im Allgemeinen von detaillierteren Informationen begleitet wird.
David

Und diese detaillierteren Informationen sollten im SQL Server-Fehlerprotokoll enthalten sein. Die Nummer selbst sagt absichtlich nicht viel aus, daher können Cracker sie nicht als Hinweis darauf verwenden, wo ihre Versuche schief gehen.
Tony Hopkinson

nützliche Informationen hier
sairfan

1
Ich musste nurrun as administrator
Jacksonkr

Überprüfen Sie einfach diese Lösung: stackoverflow.com/questions/41386538/…
Akash Singh Sengar

Antworten:


706

Wenn Sie versuchen, eine Verbindung mit "SQL Server-Authentifizierung" herzustellen, möchten Sie möglicherweise Ihre Serverauthentifizierung ändern:

Im Microsoft SQL Server Management Studio im Objektexplorer:

  1. Klicken Sie mit der rechten Maustaste auf den Server und klicken Sie auf Properties

  2. Gehen Sie zur SecuritySeite

  3. Unter Server authenticationwählen Sie das SQL Server and Windows Authentication modeOptionsfeld

  4. Klicken OK

  5. Starten Sie SQL Services neu


32
Vielen Dank. Schade, dass beim Versuch, Benutzer hinzuzufügen, keine Warnmeldung angezeigt wird.
JohnnyBizzle

12
Was genau meinst du mit "Rechtsklick auf Server und Klickeigenschaften" wo ist das?
Emcor

9
Er meint den obersten Knoten in Ihrem Objekt-Explorer - den gelben Zylinder mit der Wiedergabetaste
JGilmartin

21
Dies ist ein sehr häufiges Problem, auf das Menschen stoßen. Die Tatsache, dass Sie SQL Server-Anmeldungen nach Herzenslust erstellen können, ohne zu bemerken, dass diese einfache Einstellung deaktiviert ist, ist IMO ziemlich verwirrend. Ich würde dies als die richtige Antwort empfehlen.

7
@JGilmartin, Wie genau können Sie im Objekt-Explorer eine Verbindung zum Server herstellen, wenn der Fehler 18456 vorliegt, was bedeutet, dass Sie keine Verbindung herstellen können ?
Shai Alon

69

Lesen Sie diesen Blog-Artikel des Datenplattform-Teams.

http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx

Sie müssen sich wirklich den Statusbereich der Fehlermeldung ansehen, um die Hauptursache des Problems zu finden.

2, 5 = Invalid userid
6 = Attempt to use a Windows login name with SQL Authentication
7 = Login disabled and password mismatch
8 = Password mismatch
9 = Invalid password
11, 12 = Valid login but server access failure
13 = SQL Server service paused
18 = Change password required

Anschließend erklärt Google, wie das Problem behoben werden kann.


42
Nicht um mein eigenes Horn zu betäuben , aber ich habe hier viel mehr Informationen zusammengestellt: sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/…
Aaron Bertrand

Du drückst immer auf deine Hupe ... Danke für die Abstimmung? Aber Ihre Liste scheint vollständiger zu sein! Ich denke, die meisten Leute wissen nicht, wie man Google benutzt.
CRAFTY DBA

1
Ich war versucht zu stimmen, aber ich bin hin und her gerissen, weil die Beantwortung von Fragen, die von Google beantwortet werden könnten, die Leute nur dazu ermutigt, hier weiter zu fragen, anstatt zu suchen ...
Aaron Bertrand

13
99% der Fragen hier könnten wahrscheinlich von Google beantwortet werden. Eine einfache Frage und Antwort spart jedoch eine beträchtliche Menge an Suchzeit und überfließt oft überflüssige Artikel / Blogs, und so eine Stimme von mir!
Chris Nevill

12
HIER finde ich die Antworten, wenn ich Google benutze (Google sucht SO besser als SO sucht SO ...)
Cos Callis

27

Klicken Sie vor dem Öffnen mit der rechten Maustaste und wählen Sie "Als Administrator ausführen". Dies löste das Problem für mich.


1
Das war die Lösung für mich. Ich hatte State: 1in der Fehlermeldung.
GraehamF

@Gsic Du bist ein echter Retter. Ich habe mehr als einen Tag lang gekämpft und Ihre Lösung hat es gelöst. Danke
Karthik

Vor dem Öffnen was?
Mike

11

Sehen Sie sich zuerst die Details des Fehlers an, wenn "state" "1" ist. Stellen Sie sicher, dass die Datenbank für die SQL- und Windows-Authentifizierung unter SQL Server / Eigenschaften / Sicherheit festgelegt ist.

Für andere Zustände siehe die obigen Antworten ....


1
OMG danke! Keine meiner Anmeldungen funktionierte, dann stolperte ich über diese Antwort und stellte fest, dass meine SQL Express-Instanz irgendwie von "SQL- und Windows-Authentifizierung" in "Windows-Authentifizierung" geändert wurde. Änderte es zurück und alles funktioniert.
Ian Kemp

1
Wenn SSMS nicht ausreicht, ist ein Neustart des SqlServer-Dienstes erforderlich, damit die Änderung wirksam wird.
Ravid Goldenberg

10

Ich habe mich diesem Problem gestellt.

Bitte schauen Sie sich das beigefügte Bild an.

Schritt 1: Wechseln Sie zur Servereigenschaft

Schritt 2: Gehen Sie zu Sicherheit

Schritt 3: Ändern Sie die Serverauthentifizierung als SQL Server- und WindowsAuthenication-Modus

und starten Sie Ihren SQL Server neu.

Geben Sie hier die Bildbeschreibung ein


9
  1. Überprüfen Sie, ob die Authentifizierung im gemischten Modus in Ihren Server-> Eigenschaften aktiviert ist
  2. Erstellen Sie dann ein Login im Server-> Sicherheit
  3. Erstellen Sie einen Benutzer für dieses Login in Ihrer Datenbank
  4. Starten Sie dann Ihren Server neu, indem Sie mit der rechten Maustaste auf die Instanz klicken und Neustart auswählen

5

Ist mir gerade passiert und hat sich als anders herausgestellt als alle anderen hier aufgeführten Fälle.

Ich habe zufällig zwei virtuelle Server im selben Cluster mit jeweils eigener IP-Adresse. Der Host hat einen der Server als SQL Server und den anderen als Webserver konfiguriert. SQL Server ist jedoch auf beiden installiert und läuft auf beiden. Der Host hat vergessen zu erwähnen, welcher der Server das SQL und welcher das Web ist, also habe ich nur angenommen, dass der erste Web ist, der zweite SQL.

Als ich eine Verbindung zum (was ich dachte) SQL Server herstellte und versuchte, eine Verbindung über SSMS herzustellen, indem ich Windows-Authentifizierung auswählte, wurde der in dieser Frage erwähnte Fehler angezeigt. Nachdem ich viele Haare gezogen hatte, ging ich alle Einstellungen durch, einschließlich SQL Server-Netzwerkkonfiguration, Protokolle für MSSQLSERVER:

Screenshot der TCP / IP-Konfiguration

Ein Doppelklick auf TCP / IP gab mir Folgendes:

TCP / IP-Eigenschaften mit falscher IP-Adresse

Die IP-Adresse war vom anderen virtuellen Server! Dadurch wurde mir endlich klar, dass ich einfach zwischen den Servern verwechselt habe und auf dem zweiten Server alles gut funktioniert hat.


4

Wenn Sie die Anmeldeinformationen eines Anmeldebenutzers ändern oder einen neuen Anmeldebenutzer hinzufügen, müssen Sie nach der Anmeldung den SQL Server-Dienst neu starten. dafür

Gehe zu -> Dienste graue Farbreihe

Gehen Sie dann zu SQL Server (MSSQLSERVER) und stoppen Sie und starten Sie erneut

Versuchen Sie jetzt sich einzuloggen, ich hoffe Sie können.

Vielen Dank


3

18456 Fehlerstatusliste

FEHLERZUSTAND FEHLERBESCHREIBUNG

  • Status 2 und Status 5 Ungültige Benutzer-ID
  • Status 6 Versuchen Sie, einen Windows-Anmeldenamen mit SQL-Authentifizierung zu verwenden
  • Status 7 Anmeldung deaktiviert und Kennwort stimmt nicht überein
  • Status 8 Passwort stimmt nicht überein
  • Status 9 Ungültiges Passwort
  • Status 11 und Status 12 Gültige Anmeldung, aber Serverzugriffsfehler
  • Status 13 Der SQL Server-Dienst wurde angehalten
  • Status 18 Passwort ändern erforderlich

Mögliche Ursachen Nachfolgend finden Sie eine Liste der Gründe und eine kurze Erklärung, was zu tun ist:

SQL-Authentifizierung nicht aktiviert : Wenn Sie die SQL-Anmeldung zum ersten Mal auf einer SQL Server-Instanz verwenden, tritt sehr häufig der Fehler 18456 auf, da der Server möglicherweise (nur) im Windows-Authentifizierungsmodus festgelegt ist.

Wie zu beheben ? Überprüfen Sie diese Seite zum SQL Server- und Windows-Authentifizierungsmodus.

Ungültige Benutzer-ID: SQL Server kann die angegebene Benutzer-ID auf dem Server, den Sie abrufen möchten, nicht finden. Die häufigste Ursache ist, dass dieser Benutzer-ID kein Zugriff auf den Server gewährt wurde. Dies kann jedoch auch ein einfacher Tippfehler sein oder Sie versuchen versehentlich, eine Verbindung zu einem anderen Server herzustellen (normalerweise, wenn Sie mehr als einen Server verwenden).

Ungültiges Passwort: Falsches Passwort oder nur ein Tippfehler. Denken Sie daran, dass dieser Benutzername auf verschiedenen Servern unterschiedliche Kennwörter haben kann.

weniger häufige Fehler: Die Benutzer-ID ist möglicherweise auf dem Server deaktiviert. Für die SQL-Authentifizierung wurde eine Windows-Anmeldung bereitgestellt (wechseln Sie zu Windows-Authentifizierung. Wenn Sie SSMS verwenden, müssen Sie möglicherweise als anderer Benutzer ausgeführt werden, um diese Option zu verwenden). Das Passwort ist möglicherweise abgelaufen und wahrscheinlich aus mehreren anderen Gründen. Wenn Sie andere kennen, lassen Sie es mich wissen.

Erklärungen zu Status 1 von 18456: Normalerweise gibt Microsoft SQL Server Fehlerstatus 1 aus, der eigentlich nichts anderes bedeutet, als dass Sie einen Fehler von 18456 haben. Zustand 1 wird verwendet, um den tatsächlichen Zustand auszublenden, um das System zu schützen, was für mich sinnvoll ist. Unten finden Sie eine Liste mit allen verschiedenen Status. Weitere Informationen zum Abrufen genauer Status finden Sie unter Grundlegendes zu Fehlermeldungen "Anmeldung fehlgeschlagen" (Fehler 18456) in SQL Server 2005

hoffentlich hilft das


2

Klicken Sie mit der rechten Maustaste auf den Benutzer, gehen Sie zu Eigenschaften, ändern Sie die Standarddatenbank in Master. Dies ist der Siebdruck des Bildes, der zeigt, was Sie überprüfen müssen, wenn Sie den Fehler 19456 haben. Manchmal wird standardmäßig eine Datenbank verwendet, die der Benutzer nicht hat Genehmigung


2

Gehen Sie zuerst zur Startleiste und suchen Sie dann nach lokalen Diensten. Klicken Sie dann auf "Lokale Dienste anzeigen". Dann wird das Dienstfenster geöffnet. Gehen Sie dann zu SQL Server (MSSQLSERVER), klicken Sie mit der rechten Maustaste darauf und klicken Sie auf Stopp. Klicken Sie dann erneut mit der rechten Maustaste darauf und klicken Sie auf Start. Jetzt können Sie sich anmelden und Ihren Benutzernamen als "sa" eingeben. Das Passwort ist Ihr gewonnenes Passwort.



1

Überprüfen Sie, ob Sie mit dem Netzwerk verbunden sind, wenn es sich um einen Domänenmitglieds-PC handelt. Stellen Sie außerdem sicher, dass Sie sich nicht auf einem Dual-Home-PC befinden, da Ihre Routen aufgrund von Netzwerkmetriken möglicherweise falsch sind. Ich hatte dieses Problem, als ich keine Verbindung zur Domäne herstellen konnte. Die SQL Windows-Authentifizierung wurde auf das lokale PC-Konto umgeschaltet, aber als SQL-Authentifizierung registriert. Nachdem ich meinen WLAN-Adapter deaktiviert und neu gestartet hatte, wechselte die Windows-Integration zurück zum Domänenkonto und authentifizierte sich einwandfrei. Ich hatte den gemischten Modus bereits eingerichtet, wie Sie es auch bereits getan haben, sodass die vorherigen Beiträge nicht zutreffen.



0

Ich glaube, dies kann passieren, wenn Sie versuchen, sich mit einem in Active Directory definierten Benutzer anzumelden, aber versuchen, im Anmeldebildschirm "SQL Server-Authentifizierung" zu verwenden. Ich weiß nicht, wie ich einen anderen Benutzer mit NTLM / Windows-Authentifizierung angeben soll: Wenn ich auf die Dropdown-Liste Windows-Authentifizierung klicke, werden der Benutzername und das Kennwort ausgeblendet und ich kann mich nur als ich selbst anmelden.


0

In meinem Fall wurde das Konto durch mehrere falsche Versuche gesperrt. Dazu hatte ich versucht, die folgende Abfrage auszuführen, und es funktionierte: ALTER LOGIN WITH PASSWORD = UNLOCK. Stellen Sie sicher, dass die Option "Kennwortsicherheit erzwingen" für einen bestimmten Benutzer deaktiviert ist Klicken Sie mit der rechten Maustaste auf SQL Server -> Eigenschaften.


0

Fehlerbehebung bei SQL Server-Verbindungen

Falls Sie keine Verbindung zur SQL-Authentifizierung herstellen können und die anderen Lösungen ausprobiert haben.

Sie können Folgendes versuchen:

Überprüfen Sie die Konnektivität

  • Deaktivieren Sie die Firewall.
  • Führen Sie PortQry auf 1434 aus und überprüfen Sie die Antwort.

Überprüfen Sie den Status

  • Versuchen Sie, eine Verbindung mit SSMS oder sqlcmd herzustellen, und überprüfen Sie die Nachricht.
  • Zustand 1 wird selten dokumentiert, aber es bedeutet nur, dass Sie nicht das Recht haben, den wahren Zustand zu kennen.
  • Sehen Sie sich die Protokolldatei im Verzeichnis von SQL Server an, um den Status zu ermitteln.

Der Staat 5

Was? Mein Login existiert nicht? Es ist genau dort, ich kann es in SSMS sehen. Wie kann es sein ?

Die wahrscheinlichste Erklärung ist die wahrscheinlichste.

Der Status der Anmeldung

  • Zerstören, neu erstellen, aktivieren.
  • Setzen Sie das Passwort zurück.

Oder...

"Sie sehen nicht an der richtigen Stelle" oder "Was Sie sehen, ist nicht das, was Sie denken".

Der lokale DB- und SQLEXPRESS-Konflikt

Wenn Sie mit Windows-Authentifizierung eine Verbindung zu SSMS herstellen und Ihre Instanz SQLEXPRESS heißt, sehen Sie sich wahrscheinlich die LocalDb und nicht den richtigen Server an . Sie haben also gerade Ihr Login auf LocalDb erstellt.

Wenn Sie eine Verbindung über die SQL Server-Authentifizierung mit SSMS herstellen, wird versucht, eine Verbindung zum realen SQLEXPRESS-Server herzustellen, auf dem Ihr geliebtes Login noch nicht vorhanden ist.

Zusätzlicher Hinweis: Überprüfen Sie auf der Registerkarte Verbindungsparameter, ob Sie dort eine seltsame Verbindungszeichenfolge nicht vergessen haben.



0

Eine andere funktionierende Lösung für mich. serever->security->logins->new logins->General->Erstellen Sie Ihren Benutzernamen als Anmeldenamen. Klicken Sie auf SQL Server-Authentifizierung, und fügen Sie Kennwörter hinzu

Deaktivieren Sie die drei Kontrollkästchen zur Kennwortüberprüfung. Das wird funktionieren.

Denken Sie daran, die Servereigenschaften zu ändern -> Sicherheit von Server authenticationbisSQL Server and Windows Authentication mode


0

Sie können unter Linux für MSSQL das Passwort für ein Konto ändern

sudo / opt / mssql / bin / mssql-conf einrichten

The license terms for this product can be downloaded from
 http://go.microsoft.com/fwlink/?LinkId=746388 Jump Jump
and found in /usr/share/doc/mssql-server/LICENSE.TXT.
Do you accept the license terms? [Yes/No]:yes
  Setting up Microsoft SQL Server
Enter the new SQL Server system administrator password:  --Enter strong password
Confirm the new SQL Server system administrator password: --Enter strong password
 starting Microsoft SQL Server...
 Enabling Microsoft SQL Server to run at boot...
Setup completed successfully.

0

Ich habe diesen Fehler erhalten, nachdem ich einen neuen Sysadmin-Benutzer unter meiner SQL-Instanz erstellt habe. Mein Administrator wurde unter einer bestimmten Domain MyOrganization / useradmin erstellt

Wenn Sie useradmin in einer nicht verbundenen Umgebung verwenden, können Sie andere Benutzer mithilfe der SQL Server-Authentifizierung erstellen. Sobald Sie jedoch versuchen, sich anzumelden, erhalten Sie

Microsoft SQL Server-Fehler: 18456

Um das Problem zu beheben, versuchen Sie erneut, eine Verbindung zu Ihrem Organisationsnetzwerk herzustellen und den Benutzer zu erstellen, während Sie verbunden sind. Anschließend können Sie die Verbindung trennen und funktionieren.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.