SQL - une erreur s'est produite lors de la prise de contact avant la connexion

15

Jusqu'à hier soir, j'ai pu me connecter à mon serveur depuis ma machine locale. Maintenant, j'obtiens l'erreur suivante:

Une connexion a été établie avec succès avec le serveur, mais une erreur s'est produite lors de l'établissement de la connexion avant la connexion. (fournisseur: fournisseur SSL, erreur: 0 - L'opération d'attente a expiré.) (fournisseur de données .Net SqlClient)

Remarque, je peux me connecter au serveur réel sans problème.

Hier, j'ai installé IIS sur ma machine et créé un site en utilisant mon adresse IP - je ne sais pas si cela a quelque chose à voir.

J'ai rencontré cet article, suivi les étapes, mais ne semble pas m'aider.

http://escapekeys.com/microsoft-sql-server-error-64-a-connection-was-successfully-established-with-the-server/89

J'ai également parcouru l'article suivant, changé les paramètres TC / IP, redémarré, mais rien.

http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql- server-microsoft-sql-server-error /

J'ai également commencé à essayer les suggestions des commentaires, mais je me suis arrêté quand j'ai réalisé que je pourrais plus gâcher les choses.

Alors, pourquoi est-ce que cela se produit / comment puis-je résoudre ce problème?

Rivka
la source
De quelle version de SQL Server s'agit-il? Comment essayez-vous de vous connecter à la machine SQL; en utilisant SQL Server Management Studio ou une application que vous avez développée, etc.? Avez-vous essayé de redémarrer le service SQL Server et la machine serveur?
Max Vernon
Le serveur est 2008, mon sql local est 2012. J'ai essayé via une application que j'ai développée, ainsi que SSMS. Le service Sql a redémarré sur ma machine, mais n'a pas redémarré le serveur réel (cela affectera également la production, ce n'est qu'un problème avec ma connexion SQL locale).
Rivka
S'agit-il d'une instance SQL par défaut? Si c'est le cas, exécutez netstat -aoet confirmez que le port 1433 écoute et que le PID appartient à sqlservr.exe. S'il écoute, vérifiez que TCP / IP est activé pour l'adresse IP à laquelle vous vous connectez réellement dans SQL Server Configuration Manager (comme Max l'a montré, mais ouvrez également les propriétés de TCP / IP et assurez-vous que l'IP correcte est autorisé).
Chris McKeown
En regardant les propriétés du service, ma machine a SQLEXPRESS, pas 2012. C'était SSMS qui était 2012 (ce qui ne fait probablement aucune différence?). @ChrisMcKeown - ne voyez pas 1433 répertorié ici. De plus, quelle devrait être l'adresse IP? Mon local? Merci les gars, désolé d'avoir changé les variables ici.
Rivka
1
De plus, si vous regardez dans les journaux d'erreurs SQL, vous pouvez également déterminer sur quel port il écoute: 2012-09-04 09: 12: 58.74 Server Server Server écoute sur [127.0.0.1 <ipv4> 64746].
shiitake

Réponses:

5

Dans ma situation, j'avais un filtre de contenu / proxy appelé Covenant Eyes qui était la cause probable.

J'ai essayé de réparer l'installation de SQL Server 2012 et il a planté l'installation et n'a toujours pas résolu le problème. Dès que j'ai généré un code de désinstallation et désinstallé le filtre, j'ai pu me connecter; Je n'ai même pas eu à redémarrer.

Vérifiez les proxys et les filtres de contenu sur la machine et désactivez-les!

Watki02
la source
SENSATIONNEL. C'était il y a un certain temps, mais Covenant Eyes était installé et a toujours été installé sur nos machines.
Rivka
Je vais leur faire part de mon problème ... peut-être qu'ils utilisent une ancienne version de .NET? Voici l'entrée du forum: gsfn.us/t/3s4ti
Watki02
7

Une réponse proposée ici: http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/2d11b6f9-3ada-4682-b643-c721a97af4ba

Marre du problème? Je ne sais pas ou ne me soucie pas de ce qu'est Winsock ou de ces moyens de merde de bas niveau.

Accédez à une invite de commande

fais ça

netsh Winsock reset

continue ta vie et sois heureux.

Watki02
la source
Remarque, cela n'a pas résolu mon problème ... mais cela l'a fait pour plusieurs autres.
Watki02
Merci Watki02, vos réponses (netsh Winsock reset) m'aident à résoudre ce problème pour l'application clickOnce VB.Net à développer dans VS2010. Système d'exploitation Vista avec .Net 4.5, pour établir une connexion DB distante de Sql 2005 express edition à SQL 2005 Server.
Merci, cela m'a aidé, je ne sais pas ce que cela signifie cependant :)
Ilya Chernomordik
Fonctionne comme un charme, et si vite !!!
Jeff Tian
3

Dans ma configuration particulière, j'utilisais le stockage de données de session dans une base de données personnalisée, j'avais également les données cryptées (Encrypt = True) via la chaîne de connexion, ce qui a résolu le problème!

Cependant, je pense que les données ne sont pas cryptées en SSL, ce n'est pas vraiment un problème jusqu'à ce que nous ajoutions plus de serveurs Web!

Terry Kernan
la source
1

J'ai fait une restauration du système et je peux me connecter maintenant.

Rivka
la source
0

Ouvrez le Gestionnaire de configuration SQL Server et assurez-vous que le service SQL Server est en cours d'exécution:

Gestionnaire de configuration SQL Server - Services

et configuré pour autoriser les connexions TCP / IP:

Gestionnaire de configuration SQL Server - Configuration réseau

Max Vernon
la source
Merci, j'ai déjà essayé ça.
Rivka
0

Cette erreur s'est produite après l'installation d'un programme qui modifie les paramètres du protocole Internet de votre ordinateur. Récemment, j'ai eu le même problème après l'installation du gestionnaire de téléchargement Internet, car IDM a modifié les paramètres IP, cette erreur survient donc, après avoir désinstallé IDM de mon PC et redémarré le PC pour résoudre le problème.

Désinstallez donc toute application qui a modifié les paramètres du protocole Internet comme le gestionnaire de téléchargement Internet.

Waqar Janjua
la source
0

Parfois, cette erreur est due à une surcharge de connexions sur SQL Server. Donc, changez simplement votre base de données en utilisateur unique et changez-la de nouveau en utilisateur multiple.

Ou exécutez simplement cette requête.

utiliser ALTER DATABASE maître DatabaseName SET SINGLE_USER AVEC ROLLBACK ALTER DATABASE IMMÉDIATE DatabaseName SET MULTI_USER

Cela a résolu mon problème. :) Prendre plaisir..!!

user2490234
la source
0

Aucune de ces solutions n'a fonctionné pour moi. Ce qui a fonctionné était le suivant:

/programming/3270199/a-connection-was-successfully-established-with-the-server-but-then-an-error-occ/44703629#44703629

  • Dans le Gestionnaire de configuration SQL Server

  • Sélectionnez les services SQL Server

  • Localisez le service en difficulté et affichez les propriétés

  • Dans l'onglet Connexion, changez le "Compte intégré" en "Service réseau"

Avertissement: c'était sur mon PC de développement local, donc je n'avais aucun problème de sécurité à le faire.

Arkiliknam
la source
0

Ce problème peut être lié à un pare-feu au milieu qui effectue une inspection SSL.

Je vous suggère soit d'essayer à nouveau d'utiliser une autre connexion ne faisant pas d'inspection SSL, soit de demander à votre administrateur de pare-feu de créer une exemption pour la source et / ou la destination à laquelle vous vous connectez,

À votre santé!

Fernando Cabal
la source
0

J'obtenais ce message d'erreur sur chaque poste de travail essayant de se connecter à SQL. Tous les ordinateurs sont connectés à un domaine. Ce que j'ai fait pour résoudre ce problème était:

1) Créez domian \ nom d'utilisateur comme connexion dans SQL Management Studio de l'utilisateur se connectant au poste de travail. 2) TLS 1.0 empêchait également cet accès. Transport Layer Security TLS est un protocole cryptographique utilisé pour établir un canal de communication sécurisé entre deux systèmes. Il est utilisé pour authentifier un ou les deux systèmes et protéger la confidentialité et l'intégrité des informations qui transitent entre les systèmes.

Dans le registre des deux ordinateurs, nous sommes allés à \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.0 \ Server. Nous échangeons les valeurs des deux sous-clés.
Après un redémarrage, j'ai testé à nouveau et j'ai réussi à établir une connexion.

user552404
la source
-2

On avait le même problème. Nous avons tout vérifié, y compris la connectivité ping, telnet et RDP et nous avons finalement réalisé que cela avait commencé après que notre FAI a changé l'itinéraire. Après avoir modifié l'itinéraire, il a commencé à fonctionner.

satishpeta
la source