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?

Merazuu
quelle
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

Ali Kashanchi
quelle
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.

CRAFTY DBA
quelle
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.

Gsic
quelle
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 ....

Ahmad Jahanbin
quelle
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

Neo Vijay
quelle
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
Nagaraj Raveendran
quelle
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.

Der Schatten-Assistent ist das Ohr für Sie
quelle
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

dush88c
quelle
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

mohammad ha
quelle
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

Safari-Entwickler
quelle
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.

Nilachal Sethi
quelle
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.

Tim Robinson
quelle
1

Für mich war es falsch Login und Passwort.

JerryGoyal
quelle
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.

stolsvik
quelle
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.

Tanay Khede
quelle
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.

Fab
quelle
0

Ich habe das gleiche Problem konfrontiert. Sie müssen zuerst die Authentifizierung im gemischten Modus aktivieren. Weitere Informationen So aktivieren Sie die Authentifizierung im gemischten Modus

user3603622
quelle
Obwohl der Link die Antwort haben kann, bearbeiten Sie bitte Ihre Antwort und geben Sie weitere Details an, sonst riskieren Sie negative Stimmen
Tae
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

chamzz.dot
quelle
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.
Arnav
quelle
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.

Zinov
quelle