Am anderen Ende der Pipe befindet sich kein Prozess (SQL Server 2012)

92

Ich habe diesen Fehler:

A connection was successfully established with the server, but then an error occurred
during the login process. (provider: Shared Memory Provider, error: 0 - No process is
on the other end of the pipe.)

(Microsoft SQL Server, Error: 233)

Ich weiß, es gibt ähnliche Fragen auf dieser Site, und die Antwort lautet, TCP / IP und Pipes zu aktivieren. Aber ich habe beide aktiviert und funktioniert immer noch nicht:

MSSQL-Fehler

Ich verwende Microsoft SQL Server 2012 und der Benutzer verfügt über vollständige Berechtigungen.

Iter Ator
quelle
Versuchen Sie es mit Pinal Dave Solutions blog.sqlauthority.com/2009/05/21/…
GeoVIP
Dies funktionierte für mich, als ich die Verbindung von der Serverauthentifizierung zur Windows-Authentifizierung wieder herstellte.
Ganji Raajkumar
1
Was für mich funktioniert hat (SQL Express 2016) ... Entfernen der gemischten Authentifizierung, wobei nur die Windows-Authentifizierung übrig bleibt, Dienst neu starten, wieder auf gemischte Authentifizierung umschalten, Dienst neu starten. Bis ich dies tat, wurde der Fehler "Kein Prozess"
Rostol
1
Überprüfen Sie die Verbindungszeichenfolge in Ihrer Konfigurationsdatei. Für mich hatte jemand einen der Servernamen geändert und eingecheckt. Mein Code versuchte, eine Datenbank zu treffen, die auf meinem Server nicht vorhanden war.
Camainc

Antworten:

117

Der Server wurde standardmäßig nur auf Windows-Authentifizierung eingestellt. Es gibt keine Benachrichtigung, dass der Ursprung der Fehler darin besteht, daher ist es schwierig, dies herauszufinden. Das SQL Management Studio warnt nicht, selbst wenn Sie einen Benutzer nur mit SQL-Authentifizierung erstellen.

Die Antwort lautet also: Wechseln Sie von Windows zur SQL-Authentifizierung :

  1. Klicken Sie mit der rechten Maustaste auf den Servernamen und wählen Sie properties ;
  2. Wählen security Sie Registerkarte;
  3. Aktivieren Sie die SQL Server and Windows Authentication mode ;
  4. Starten Sie den SQL Server-Dienst neu.

Sie können sich jetzt mit Ihrem Login / Passwort verbinden.

Iter Ator
quelle
5
Die Option wurde korrekt aktiviert, daher habe ich "Windows-Authentifizierung" aktiviert, den Dienst neu gestartet und dann "Windows-Authentifizierung + SQL-Authentifizierung" aktiviert, um dieses Problem zu beheben. So glücklich!
Groco
2
Um den Kommentar von @ Groco zu verdeutlichen: Melden Sie sich mit Windows Authentication>> Rechtsklick auf Ihren Server >> Properties>> Security(Unter Select a page) >> Unter Server AuthenticationAuswählen an SQL Server and Windows Authentication mode. Schließen Sie SQL Server Management Studio, starten Sie den SQL Server-Dienst neu und melden Sie sich erneut an.
Minh Tran
1
Das Problem, das ich hatte, war, dass Server Authenticationeingestellt wurde Windows Authentication mode. Und unabhängig von der korrekten Passworteingabe wurde ich immer mit begrüßt A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.). Während des Fehlers konnte ich mich mitWindows Authentication
Minh Tran
ich danke dir sehr. Neustart des SQL-Dienstes behoben mein Problem.
user1282609
56

Um dies zu beheben, stellen Sie mithilfe der Windows-Authentifizierung eine Verbindung zu SQL Management Studio her, klicken Sie mit der rechten Maustaste auf Serverknoten Eigenschaften-> Sicherheit und aktivieren Sie den SQL Server- und Windows-Authentifizierungsmodus. Wenn Sie 'sa' verwenden, stellen Sie sicher, dass das Konto aktiviert ist. Öffnen Sie dazu 'sa' unter Logins und zeigen Sie Status an.

aktiviere sa admin

Wenn dies nicht funktioniert hat, müssen Sie möglicherweise SQL Server neu installieren

nzchris
quelle
25

Sie können auch versuchen, zu den Diensten zu wechseln und Ihre SQL Server-Instanz neu zu startenGeben Sie hier die Bildbeschreibung ein

Kein Name
quelle
3
Dies löste mein Problem, nachdem ich alle anderen Korrekturen ausprobiert hatte.
Mini998
Äh, sollte dies nicht mit einem großen Warnschild versehen sein, dass ein Neustart des SQL Server-Dienstes, nur weil Sie keine Verbindung herstellen können, andere Dinge zerstört, die erfolgreich verbunden wurden?
undrline
Das hat bei mir super funktioniert. Ich kann sehen, wie leicht es für die Menschen ist, diese Lösung zu vernachlässigen.
TechnicalTim
17

Ich hatte dies kürzlich auch für die integrierte Sicherheit. Es stellte sich heraus, dass mein Problem eigentlich ziemlich einfach zu beheben war, aber hauptsächlich, weil ich vergessen hatte, "Trusted_Connection = True" hinzuzufügen. zu meiner Verbindungszeichenfolge .

Ich weiß, dass das ziemlich offensichtlich erscheint, aber ich musste ungefähr 20 Minuten lang arbeiten, bis mir klar wurde, dass ich mein Verbindungszeichenfolgenformat von connectionstrings.com kopiert hatte und dieser Teil der Verbindungszeichenfolge fehlte.

Einfach und ich fühle mich ein bisschen dumm, aber es war die Antwort für mich.

Joe Walters
quelle
Ich habe alle Kommentare ausprobiert, aber es hat nicht funktioniert. Ihre Lösung hat bei mir perfekt funktioniert. Vielen Dank.
Royal.O
Dies war das letzte, was ich versucht habe, nachdem alle anderen Dinge zum Überprüfen von TCP aktiviert waren, die Authentifizierung im gemischten Modus hinzugefügt und der SQL-Browser-Dienst neu gestartet wurde, und es hat funktioniert. danke
Myke Black
10

Ein weiterer Grund für diesen Fehler könnte ein falscher oder nicht vorhandener Datenbankname sein.

Das Erzwingen der TCP / IP-Verbindung (durch Bereitstellen 127.0.0.1anstelle von localhostoder .) kann den wahren Grund für den Fehler aufdecken. In meinem Fall war der in der Verbindungszeichenfolge angegebene Datenbankname falsch.

Also, hier ist die Checkliste:

  • Stellen Sie sicher, dass Named Pipe im Konfigurationsmanager aktiviert ist (vergessen Sie nicht, den Server neu zu starten).
  • Stellen Sie sicher, dass die Datenbank, mit der Sie eine Verbindung herstellen, vorhanden ist.
  • Stellen Sie sicher, dass die SQL Server-Authentifizierung (oder der gemischte Modus) aktiviert ist.
Mohammad Dehghan
quelle
Was ist mit dem Konfigurationsmanager in Express 2016 passiert? Ich sehe es nicht verfügbar? Oh, ich muss jetzt SQLServerManager13.msc ausführen
Kirsten Greed
Beim Wechsel zu 127.0.0.1 wurde die Fehlermeldung Meldung = Beim Herstellen einer Verbindung zu SQL Server ist ein netzwerkbezogener oder instanzspezifischer Fehler aufgetreten. Der Server wurde nicht gefunden oder war nicht zugänglich. Stellen Sie sicher, dass der Instanzname korrekt ist und dass SQL Server so konfiguriert ist, dass Remoteverbindungen zugelassen werden. (Anbieter: SQL Network Interfaces, Fehler: 26 - Fehler beim Auffinden des angegebenen Servers / der angegebenen Instanz) Quelle = Core .Net SqlClient-Datenanbieter
Kirsten Greed
1
@kirsteng Überprüfen Sie Ihre installierten SQL Server-Instanzen. Haben Sie eine Standardinstanz (MSSQLSERVER) installiert?
Mohammad Dehghan
Die SQL Server-Authentifizierung im gemischten Modus hat dies für mich erledigt. Leute, wenn Sie eine Neuinstallation von SQL Server Express durchführen und einen Benutzer für Ihre Programmieranforderungen hinzufügen möchten, müssen Sie ihn in den gemischten Modus ändern, da sonst nur die Windows-Authentifizierung verfügbar ist.
Eduardo
Das hat funktioniert. Nachdem ich den localdb-Unsinn auf 127.0.0.1 geändert hatte, kam er durch.
Eric
9

Bitte überprüfen Sie dies auch. Geben Sie hier die Bildbeschreibung einÜberprüfen Sie auch die Konfiguration TCP / IP, Names PipeLine und Shared Memory aktiviert

Muhammad Bilal
quelle
7

Wenn Sie versuchen, sich mit SQL-Anmeldeinformationen anzumelden, können Sie auch versuchen, den LoginMode für SQL Server in der Registrierung so zu ändern, dass sowohl die SQL Server- als auch die Windows-Authentifizierung zulässig sind.

  1. Öffnen Sie regedit
  2. Wechseln Sie zum SQL-Instanzschlüssel (kann je nach Instanzname variieren): Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ MSSQL14.SQLEXPRESS \ MSSQLServer \
  3. Setzen Sie LoginMode auf 2

Geben Sie hier die Bildbeschreibung ein

  1. Starten Sie den SQL-Dienst und SQL Server Management Studio neu und versuchen Sie es erneut.
gotorg
quelle
Dies ist die passendste Antwort.
Sushh
5

Ich bin zum zweiten Mal mit diesem Problem konfrontiert und alle vorherigen Antworten sind fehlgeschlagen. Glücklicherweise erledigt die folgende Anfrage den Job:

Alter login [user] with CHECK_POLICY = OFF
go

Alter login [user] with CHECK_POLICY = ON
go
Groco
quelle
4

Für mich ist das Passwort für meinen Login-Benutzer abgelaufen und ich habe die gleiche Ausnahme erhalten. Dann melde ich mich mit dem Windows-Authentifizierungsmodus an und ändere das Passwort für den zugeordneten Benutzer. Dadurch wurde mein Problem gelöst.

Bence Végert
quelle
Du rettest meinen Tag !!
user10237300
3

Hatte auch dieser Fehler, war die Ursache einfach, aber nicht offensichtlich: falsches Passwort. Ich bin mir nicht sicher, warum ich nicht nur "Anmeldung fehlgeschlagen" vom frisch installierten SQL 2016-Server erhalten habe.

Stefan
quelle
3

Ja, dieser Fehler könnte genauso gut sein: "Etwas ist fehlgeschlagen, viel Glück beim Herausfinden, was" - In meinem Fall war es ein falscher Benutzername. SQL Server 2019 RC1.

Anssssss
quelle
2

Ich habe das gleiche Problem: "Eine Verbindung zum Server wurde erfolgreich hergestellt, aber während des Anmeldevorgangs ist ein Fehler aufgetreten. (Anbieter: Anbieter für gemeinsam genutzten Speicher, Fehler: 0 - Am anderen Ende der Pipe befindet sich kein Prozess.)"

Meine Verbindung ist:

server = POS06 \ SQLEXPRESS; AttachDbFilename = C: ... \ Datas.mdf; Initial Catalog = Datas; Benutzer-ID = sa; Pwd = 12345; Verbindungszeitlimit = 10;

Aber mein SQL ist POS06 \ MSQL2014

Ändern Sie die Verbindungszeichenfolge in

Server = POS06 \ MSQL2014; AttachDbFilename = C: ... \ Datas.mdf; Initial Catalog = Datas; Benutzer-ID = sa; Pwd = 12345; Verbindungszeitlimit = 10;

es funktionierte.

Doan bien
quelle
0

Stellen Sie sicher, dass Sie unter Sicherheit-> Anmeldungen einen Benutzer angegeben haben. Wenn nein, fügen Sie ihn hinzu und versuchen Sie es erneut.

Elkoo
quelle
0

Befolgen Sie die andere Antwort. Wenn dies immer noch nicht funktioniert, starten Sie Ihren Computer neu, um den SQL Server-Dienst unter Windows effektiv neu zu starten.

cschaefer
quelle
Sie können den SQL-Dienst für Ihre spezifische Datenbank normalerweise auch neu starten, indem Sie ihn inservices.msc
Zimano