web-dev-qa-db-fra.com

SQL - une erreur s'est produite lors de l'établissement de la connexion avant la connexion

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é.) (.Net SqlClient Data Provider)

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 risquais de gâcher plus.

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

15
Rivka

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!

5
Watki02

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? Ne sais pas ou ne se soucie pas de ce qu'est Winsock ou de tout autre moyen de cette merde de bas niveau.

Accédez à une invite de commande

fais ça

netsh Winsock reset

continue ta vie et sois heureux.

8
Watki02

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 chiffrées (Encrypt = True) via la chaîne de connexion, ce qui a résolu le problème!

Je soupçonne cependant que les données ne sont pas cryptées SSL en conséquence, ce n'est pas vraiment un problème jusqu'à ce que nous ajoutions plus de serveurs Web!

3
Terry Kernan

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

1
Rivka

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.

0
user552404

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

SQL Server Configuration Manager - Services

et configuré pour autoriser les connexions TCP/IP:

SQL Server Configuration Manager - Network Configuration

0
Max Vernon

Erreur:

Expiration du délai de connexion. Le délai d'expiration s'est écoulé lors de la tentative d'utilisation de la prise de contact avant ouverture de session, ou le serveur n'a pas pu répondre à temps. La durée passée lors de la tentative de connexion à ce serveur était de - [Pre-Login] initialisation = 11977; poignée de main = 5138;

Résolution:

Ce problème peut être résolu en modifiant la chaîne de connexion pour définir le paramètre TransparentNetworkIPResolution sur false.

Exemple:

Server=myServerName;
Database=myDataBase;
Trusted_Connection=True;
TransparentNetworkIPResolution = False

Lorsque nous la définissons sur false dans la chaîne de connexion, le délai d'expiration n'est pas de 500 ms et la connexion réussit.

https://blogs.msdn.Microsoft.com/dataaccesstechnologies/2016/05/07/connection-timeout-issue-with-net-framework-4-6-1-transparentnetworkipresolution/

0
Ketan Agnihotri

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

Je vous suggère soit de réessayer en utilisant 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é!

0
Fernando Cabal

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..!!

0
user2490234

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

https://stackoverflow.com/questions/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.

0
Arkiliknam

Vous avez peut-être récemment modifié vos paramètres de connexion utilisateur sur le serveur SQL.
Vous devez afficher votre instance en mode mono-utilisateur en ajoutant -m dans le paramètre de démarrage. Ensuite, vous devez modifier les paramètres de connexion utilisateur à l'aide des commandes ci-dessous:

USE AdventureWorks2012 ;  
GO  
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE ;  
GO  
EXEC sp_configure 'user connections', 325 ;  
GO  
RECONFIGURE;  
GO  
0
OFFICE

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.

0
Waqar Janjua