Aucun processus n'est à l'autre bout du canal (SQL Server 2012)

92

J'ai cette erreur:

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)

Je sais, il y a des questions similaires sur ce site, et la réponse est, pour activer TCP / IP et les tuyaux. Mais j'ai activé les deux et ne fonctionne toujours pas:

Erreur MSSQL

J'utilise Microsoft SQL Server 2012 et l'utilisateur dispose des autorisations complètes.

Iter Ator
la source
essayez les solutions pinal dave blog.sqlauthority.com/2009/05/21/…
GeoVIP
Cela a fonctionné pour moi lorsque je me suis reconnecté de l'authentification serveur à l'authentification Windows.
ganji raajkumar
1
Ce qui a fonctionné pour moi (sql express 2016) ... Suppression de l'authentification mixte en ne laissant que Windows auth, redémarrage du service, retour à l'authentification mixte, redémarrage du service. jusqu'à ce que je fasse cela, rien n'a corrigé l'erreur de processus No
Rostol
1
Pour ce que cela vaut, vérifiez la chaîne de connexion dans votre fichier de configuration. Pour moi, quelqu'un avait modifié l'un des noms de serveur et l'avait enregistré. Mon code essayait de frapper une base de données qui n'existait pas sur mon serveur.
camainc

Réponses:

120

Le serveur a été défini sur l'authentification Windows uniquement par défaut. Il n'y a pas de notification indiquant que l'origine des erreurs est cela, il est donc difficile de la comprendre. Le studio de gestion SQL n'alerte pas, même si vous créez un utilisateur avec l'authentification SQL uniquement.

La réponse est donc: Passer de l'authentification Windows à l'authentification SQL :

  1. Faites un clic droit sur le nom du serveur et sélectionnez properties;
  2. Sélectionnez l' securityonglet;
  3. Activez le SQL Server and Windows Authentication mode;
  4. Redémarrez le service SQL Server.

Vous pouvez maintenant vous connecter avec votre login / mot de passe.

Iter Ator
la source
5
L'option a été correctement cochée, j'ai donc coché 'Authentification Windows', je redémarre le service puis je coche 'Authentification Windows + Authentification SQL' pour résoudre ce problème. Tellement heureux!
Groco
2
Pour clarifier le commentaire de @ Groco: Connectez-vous en utilisant Windows Authentication>> Cliquez avec le bouton droit sur votre serveur >> Properties>> Security(Sous Select a page) >> Sous Server Authenticationsélectionnez SQL Server and Windows Authentication mode. Fermez SQL Server Management Studio, redémarrez le service SQL Server et essayez de vous connecter à nouveau.
Minh Tran
1
Le problème que j'avais était que Server Authenticationc'était réglé Windows Authentication mode. Et quelle que soit la saisie du mot de passe correct, j'ai toujours été accueilli 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.). Tout au long de l'erreur, j'ai pu me connecter en utilisantWindows Authentication
Minh Tran
Merci beaucoup. redémarrer le service SQL a résolu mon problème.
user1282609
57

Pour résoudre ce problème, connectez-vous à SQL Management Studio à l'aide de l'authentification Windows, puis cliquez avec le bouton droit sur le nœud de serveur Propriétés-> Sécurité et activez le mode d'authentification SQL Server et Windows. Si vous utilisez «sa», assurez-vous que le compte est activé. Pour ce faire, ouvrez «sa» sous Connexions et affichez l'état.

activer sa admin

Si cela ne fonctionne pas, vous devrez peut-être réinstaller SQL Server

nzchris
la source
Après cela, redémarrez SQL Server. Ensuite, essayez de vous connecter.
Webucator
25

Vous pouvez également essayer d'accéder aux services et redémarrer votre instance de serveur SQLentrez la description de l'image ici

Sans nom
la source
3
Cela a résolu mon problème après avoir essayé tous les autres correctifs.
mini998
Euh, cela ne devrait-il pas être accompagné d'une grande étiquette d'avertissement indiquant que le redémarrage du service serveur SQL simplement parce que vous ne pouvez pas vous connecter cassera d'autres choses qui se sont connectées avec succès?
undrline
Cela a très bien fonctionné pour moi. Je peux voir à quel point il est facile pour les gens de négliger cette solution.
TechnicalTim
17

Donc, j'ai eu cela récemment aussi, pour la sécurité intégrée, Il s'avère que mon problème était en fait assez simple à résoudre mais principalement parce que j'avais oublié d'ajouter "Trusted_Connection = True" à ma chaîne de connexion.

Je sais que cela peut sembler assez évident, mais cela m'a fait durer environ 20 minutes jusqu'à ce que je réalise que j'avais copié le format de ma chaîne de connexion depuis connectionstrings.com et que cette partie de la chaîne de connexion était manquante.

Simple et je me sens un peu idiot, mais c'était la réponse pour moi.

Joe Walters
la source
J'ai essayé tous les commentaires mais cela n'a pas fonctionné. Votre solution a parfaitement fonctionné pour moi. Merci beaucoup.
Royal.O
c'était la dernière chose que j'ai essayée après que toutes les autres choses de vérification tcp soient activées, en ajoutant l'authentification en mode mixte et en redémarrant le service de navigateur sql et cela a fonctionné. merci
Myke Black
10

Une autre raison de cette erreur peut être un nom de base de données incorrect ou inexistant.

Forcer la connexion TCP / IP (en fournissant 127.0.0.1au lieu de localhostou .) peut révéler la vraie raison de l'erreur. Dans mon cas, le nom de la base de données spécifié dans la chaîne de connexion était incorrect.

Alors, voici la liste de contrôle:

  • Assurez-vous que Named Pipe est activé dans le gestionnaire de configuration (n'oubliez pas de redémarrer le serveur).
  • Assurez-vous que la base de données à laquelle vous vous connectez existe.
  • Assurez-vous que l' authentification SQL Server (ou le mode mixte) est activée.
Mohammad Dehghan
la source
qu'est-il arrivé au gestionnaire de configuration dans express 2016? Je ne le vois pas disponible? Oh, je dois exécuter SQLServerManager13.msc maintenant
Kirsten Greed
Lorsque je suis passé à 127.0.0.1, j'ai reçu un message d'erreur Message = Une erreur liée au réseau ou spécifique à une instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou inaccessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (fournisseur: Interfaces réseau SQL, erreur: 26 - Erreur de localisation du serveur / instance spécifiée) Source = Fournisseur de données Core .Net SqlClient
Kirsten Greed
1
@kirsteng Vérifiez vos instances SQL Server installées. Avez-vous installé une instance par défaut (MSSQLSERVER)?
Mohammad Dehghan
L'authentification SQL Server en mode mixte l'a fait pour moi. Les gars, si vous effectuez une nouvelle installation de SQL Server Express, lorsque vous souhaitez ajouter un utilisateur pour vos besoins de programmation, vous devez le changer en mode mixte, sinon seule l'authentification Windows sera disponible.
Eduardo le
Cela (en quelque sorte) a fonctionné. Une fois que j'ai changé le non-sens localdb en 127.0.0.1, il est passé.
Eric
9

Veuillez vérifier cela également entrez la description de l'image iciVérifier également la configuration TCP / IP, les noms PipeLine et la mémoire partagée activés

Muhammad Bilal
la source
7

Si vous essayez de vous connecter avec des informations d'identification SQL, vous pouvez également essayer de modifier le LoginMode pour SQL Server dans le Registre pour autoriser à la fois l'authentification SQL Server et Windows.

  1. Ouvrir regedit
  2. Accédez à la clé d'instance SQL (peut varier en fonction du nom de votre instance): Ordinateur \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ MSSQL14.SQLEXPRESS \ MSSQLServer \
  3. Définissez LoginMode sur 2

entrez la description de l'image ici

  1. Redémarrez le service SQL et SQL Server Management Studio et réessayez.
gotorg
la source
c'est la réponse la plus appropriée.
sushh
5

Je fais face à ce problème pour la deuxième fois et toutes les réponses précédentes ont échoué, heureusement la demande suivante fait l'affaire:

Alter login [user] with CHECK_POLICY = OFF
go

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

Pour moi, le mot de passe de mon utilisateur de connexion a expiré et j'ai eu la même exception. Ensuite, je me connecte avec le mode d'authentification Windows et change le mot de passe de l'utilisateur associé, et cela a résolu mon problème.

Bence Végert
la source
vous sauvez ma journée !!
apprenant le
3

Eu cette erreur aussi, la cause était simple, mais pas évidente: mot de passe incorrect. Je ne sais pas pourquoi je n'ai pas simplement reçu «Échec de la connexion» du serveur SQL 2016 fraîchement installé.

Stefan
la source
3

Ouais, cette erreur pourrait aussi bien être "quelque chose a échoué, bonne chance pour savoir quoi" - Dans mon cas, c'était un mauvais nom d'utilisateur. SQL Server 2019 RC1.

Anssssss
la source
2

J'ai le même proplem "Une connexion a été établie avec succès avec le serveur, mais une erreur s'est produite pendant le processus de connexion. (Fournisseur: fournisseur de mémoire partagée, erreur: 0 - aucun processus n'est à l'autre extrémité du tuyau.)"

Ma connexion est:

serveur = POS06 \ SQLEXPRESS; AttachDbFilename = C: ... \ Datas.mdf; Catalogue initial = Données; ID utilisateur = sa; Pwd = 12345; Délai de connexion = 10;

Mais mon SQL est POS06 \ MSQL2014

Remplacez la chaîne de connexion par

serveur = POS06 \ MSQL2014; AttachDbFilename = C: ... \ Datas.mdf; Catalogue initial = Données; ID utilisateur = sa; Pwd = 12345; Délai de connexion = 10;

ça a marché.

Doan bien
la source
0

assurez-vous que vous avez spécifié l'utilisateur dans Sécurité-> Connexions, si non - ajoutez-le et réessayez.

elkoo
la source
0

Suivez l'autre réponse, et si cela ne fonctionne toujours pas, redémarrez votre ordinateur pour redémarrer efficacement le service SQL Server sous Windows.

cschaefer
la source
Vous pouvez également généralement redémarrer le service SQL pour votre base de données spécifique en le localisant dansservices.msc
Zimano
0

Essayez toujours de vous connecter à l'aide de ces informations d'identification avec SQL Management Studio. Cela peut révéler des détails supplémentaires que vous n'obtenez pas au moment de l'exécution dans votre code. J'avais vérifié l'authentification SQL + Windows, redémarré le serveur mais toujours pas de chance. Après avoir essayé de me connecter à l'aide de SQL Management, j'ai reçu cette invite:

capture d'écran

D'une manière ou d'une autre, le mot de passe avait expiré bien que la connexion ait été créée quelques minutes auparavant. Quoi qu'il en soit, nouveau jeu de mots de passe, chaîne de connexion mise à jour et tout va bien.

CyberDude
la source