Je n'arrive pas à me connecter à ma base de données depuis un site. J'obtiens cette erreur:
Fournisseur de canaux nommés, erreur: 40 - Impossible d'ouvrir une connexion à SQL Server
J'ai essayé d'utiliser l'adresse IP locale pour me connecter ainsi qu'une adresse publique. J'ai essayé:
- Oui, le site peut communiquer avec le serveur
- Les canaux nommés / TCP sont activés.
- Les connexions à distance sont autorisées.
- Le pare - feu Windows est désactivé
- Création d'une exception pour le port 1433 dans le pare-feu Windows.
- Tout activé dans SQL Server Configuration Manager.
Que puis-je faire d'autre ici?
Réponses:
Résoudre ce problème est très simple:
Capture d'écran des étapes:
la source
Et la solution la plus simple - vérifiez si votre slash est de retour ...
J'ai passé environ une heure à essayer de comprendre ce qui ne va pas avec SERVER / INSTANCENAME lorsque tout est configuré correctement, les tuyaux nommés, les droits d'accès des utilisateurs ... et tout à coup cela m'a frappé, ce n'est pas une barre oblique, c'est une barre oblique inverse (
\
).L'horreur, la honte ...
la source
Server=MyServerName\DOLPHIN=Trusted_Connection=True;Database=DolphinPlatform
pendant le développement (C #), je me connectais à un serveur MSSQL 2017 installé localement, mais lorsque je suis allé le déployer, le serveur distant installé par l'éditeur du logiciel fonctionnait en tant queInstance
. J'ai continué à penser que c'était un problème d'authentification parce qu'il fonctionnait en tant que service ou quelque chose jusqu'à ce que je trouve cela.C'est un processus en trois étapes vraiment après l'installation de SQL Server:
Redémarrez le serveur SQL Config Manager -> Services SQL Server -> SQL Server (SQLEXPRESS) -> Clic droit -> Redémarrer
Utilisez des noms de serveur et d'instance appropriés (les deux sont nécessaires!) En général, ce serait . \ SQLEXPRESS , par exemple, voir la capture d'écran de la boîte de dialogue de connexion QueryExpress.
Voilà.
la source
Je venais d'installer le développeur SQL SERVER 2012. Lorsque je créais mon premier package SSIS, j'ai reçu cette erreur de canaux lorsque j'essayais de créer une tâche de connexion de données dans SQL Server 2012 Data Tools dans la zone Gestionnaire de connexion. J'ai résolu avec l'aide du post ci-dessus.
Si vous choisissez une instance nommée et que vous appelez votre instance nommée SSQDatabase1 et que le nom de votre ordinateur est PCX1. Vous devez entrer PCX1 \ SSQDatabase1 et non seulement SSQDatabase1 ou vous recevrez l'erreur de canaux nommés.
la source
Un thread sur MSDN Social, Re: Named Pipes Provider, erreur: 40 - Impossible d'ouvrir une connexion à SQL Server , a une liste assez décente de problèmes possibles liés à votre erreur. Vous voudrez peut-être voir si l'un d'entre eux pourrait être ce que vous vivez.
la source
ip.ip.ip.ip/NamedInstance
?Je viens d'activer TCP / IP, VIA, les tuyaux nommés dans le gestionnaire de configuration du serveur SQL, mon problème a été résolu, reportez-vous à ceci pour plus d'informations Résolution de l'erreur de tuyaux nommés 40
la source
Utilisez SERVER \\ INSTANCE NAME . L'utilisation de la double barre oblique inverse dans mon projet a résolu mon problème.
la source
@"server\instance"
ou"server\\instance"
devrait fonctionner. Si c'est dans un fichier de configuration, alors vous voulez juste le serveur de texte brut \ instance.Merci à Damian ...
Tuyaux nommés TCP / IP ... tous deux activés
Web Config .... (pour localhost)
la source
J'ai eu le même problème. J'ai passé environ 6 heures à migrer certains serveurs. J'ai essayé toutes les suggestions disponibles sur ce sujet et d'autres.
La solution était aussi simple que le redémarrage du serveur!
la source
dans mon cas, j'avais un serveur autonome, j'ai changé le port par défaut du port du serveur sql 1433 dans le gestionnaire de configuration en un certain nombre et redémarré le service de service sql pour prendre effet, j'ai pu me connecter au serveur sql via le studio de gestion si je me connecte au serveur. mais je n'ai pas pu me connecter depuis ma machine locale via le serveur SQL, j'obtenais l'erreur:
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: fournisseur de canaux nommés, erreur: 40 - Impossible d'ouvrir une connexion à SQL Server) (Microsoft SQL Server, erreur: 5)
J'ai vérifié et vérifié tout ce qui suit
-Les canaux nommés / TCP sont activés. -Les connexions à distance sont autorisées. -Windows Firewall est désactivé -Créé une exception pour le portin Windows Firewall (ce n'était pas nécessaire dans mon cas car le serveur est dans le même réseau de sous-réseau). -Activé tout dans SQL Server Configuration Manager.
puis j'ai modifié le numéro de port à la valeur par défaut 1433 et redémarré le service de serveur SQL, et le problème a été résolu et je suis capable de connecter le serveur SQL à partir de mon studio de gestion local.
la source
J'ai eu le même problème. J'utilise MSSQL Server Management Studio 2017 et j'ai résolu ce problème en suivant ces étapes:
et l'a réparé.
la source
Essayez les étapes suivantes:
Ouvrez la fenêtre Services (ouvrez la "boîte d'exécution" et tapez services.msc).
Recherche de services SQL (avec préfixe SQL).
Démarrez-les (si vous ne pouvez pas démarrer. Allez à l'étape 4).
Cliquez avec le bouton droit sur chaque service -> Propriétés -> Passez à l'onglet "Connexion" -> choisissez la connexion en tant que "Local ..." -> 0K. Puis redémarrez les services SQL.
Essayez Open SQL et connectez la base de données.
la source
Vous trouverez très probablement que votre nom de base de données n'est pas correct, vous verrez le nom du serveur dans VS comme "DESKTOP-0I14BKI" mais si vous ouvrez SSMS, vous verrez DESKTOP-0I14BKI \ SQLBLAHBLAH , ajoutez simplement " \ SQLBLAHBLAH " (nom de l'instance ) à votre "nom de serveur" dans les propriétés de connexion VS.
Vous verrez :
Pour réparer:
la source
TL, DR; Votre instance SQL Server utilise des ports dynamiques qui ne fonctionnent pas. Forcer SQL Server à utiliser le port statique # 1433.
Détails complets : Tout d'abord, ce problème est plus probable si vous avez un mélange d'instances par défaut et nommées ou d'instances nommées uniquement (ce qui était mon cas).
Concept clé : chaque instance de Microsoft SQL Server installée sur un ordinateur utilise un port différent pour écouter les demandes de connexion entrantes. L'instance par défaut de SQL Server utilise le port # 1433. Lorsque vous installez des instances nommées, elles commenceront à utiliser des ports dynamiques, ce qui est décidé au moment du démarrage du service Windows correspondant à l'instance SQL Server nommée.
Mon code ne parvenait pas (avec le code d'erreur 40) à se connecter à la seule instance SQL Server nommée que j'avais sur ma machine virtuelle. Vous pouvez essayer ci-dessous les solutions possibles:
Solution n ° 1 : le code client essayant de se connecter à l'instance SQL Server prend l'aide du service de navigateur SQL Server pour déterminer le numéro de port sur lequel votre instance nommée écoute les connexions entrantes. Assurez-vous que le service de navigateur SQL est en cours d'exécution sur votre ordinateur.
Solution n ° 2 : vérifiez le numéro de port (en couleur jaune) que votre instance nommée de SQL Server utilise à partir du gestionnaire de configuration SQL Server, comme indiqué dans l'instantané ci-dessous:
Utilisez ce numéro de port explicitement dans votre chaîne de connexion ou avec
sqlcmd
ci-dessous:Solution n ° 3 : forcez votre instance nommée à utiliser le port n ° 1433 qui est utilisé par l'instance par défaut. N'oubliez pas que cela ne fonctionnera que si vous n'avez aucune instance SQL Server par défaut sur votre ordinateur, car l'instance SQL Server par défaut utilise déjà le port # 1433. Le même numéro de port ne peut pas être utilisé par deux services Windows différents.
Marquez le
TCP Dynamic ports
champ vide et leTCP Port
champ 1433.Modifiez le numéro de port dans votre chaîne de connexion comme indiqué ci-dessous:
OU
Remarque : chaque modification des paramètres TCP / IP nécessite un redémarrage du service Windows correspondant.
Il est intéressant de noter qu'après avoir résolu l'erreur lorsque je suis retourné au paramètre de port dynamique pour reproduire la même erreur, cela ne s'est pas produit. Pas certain de pourquoi.
Veuillez lire ci-dessous les discussions intéressantes pour en savoir plus sur les ports dynamiques de SQL Server:
Comment configurer le port SQL Server sur plusieurs instances?
Quand un port dynamique est-il «dynamique»?
Quand utiliser un port dynamique TCP et quand utiliser un port TCP?
J'ai obtenu des pistes pour résoudre mon problème à partir de ce blog.
la source
Dans mon cas, j'ai ouvert SQL Server Management Studio et recherché SQLEXPRESS dans mon moteur de base de données. Il y avait deux instances et j'ai sélectionné la bonne.
la source
Si vous travaillez avec Asp.net core et utilisez appsettings.json, écrivez le serveur en tant qu'hôte local et après écrire le nom de l'instance sql pour le tube nommé activé comme ceci
la source
Solution très simple
utilisez
(local)\InstanceName
c'est tout. cela a fonctionné pour moi.la source
Si vous avez essayé de redémarrer le service MSSQLSERVER et que cela n'a pas fonctionné, cela peut être une solution:
Si vous utilisez SQLExpress, le nom de votre serveur doit être le suivant ComputerName \ SQLExpress. Toutefois, pour SQLDeveloper, vous ne devez pas redresser SQLDeveloper après votre ComputerName.
la source
Après avoir suivi toutes les étapes mentionnées ici , s'il ne se connecte toujours pas, essayez d'ajouter le DNS avec l'adresse IP dans le fichier hosts dans le dossier etc. L'ajout d'une adresse IP au lieu d'un nom DNS dans la chaîne de connexion devrait être une solution temporaire pour vérifier si la connexion fonctionne réellement.
la source
je me suis assuré et j'ai également fait ce qui précède et je veux juste partager que le DOUBLE BACKSLASH
oBuilder.DataSource = "SPECIFICPCNAME \ SQLEXPRESS";
L'utilisation d'un SEUL BACKSLASH a entraîné une erreur de construction, c'est-à-dire: Erreur 1 Séquence d'échappement non reconnue
J'espère que cela aidera le prochain gars - j'ai sacrifié le dîner, le goûter de minuit et les temps forts de la NBA pour résoudre ce problème (honte)
Merci à [Tamizh venthan] ^ _ ^
la source
Activez TCP / Ip, Piped Protocol en accédant à Gestion de l'ordinateur -> SQL et services, assurez-vous que le service est activé. Enbalez le port sur le pare-feu. Essayez de vous connecter via l'invite de commande -> en tant qu'administrateur; Enfin, le nom d'utilisateur doit être (local) \ SQLEXPRESS. J'espère que cela t'aides.
la source
Ouvrez le Gestionnaire de configuration SQL Server
la source
J'ai eu le même problème et j'ai résolu le problème en désactivant mon pare-feu (ESET).
La première étape pour résoudre ce problème devrait être d'essayer d'envoyer une requête ping à votre propre ordinateur à partir d'un autre ordinateur. Si vous avez un pare-feu activé, vous ne pourrez peut-être pas vous pinguer. J'ai essayé de cingler mon propre PC, puis le ping a échoué (je n'ai pas reçu de réponse du serveur)
la source
J'ai suggéré ci-dessous les étapes pour résoudre votre problème Comment puis-je corriger l'erreur "Fournisseur de tuyaux nommé, erreur 40 - Impossible d'ouvrir une connexion à" SQL Server "
la source
J'essayais d'ajouter une nouvelle connexion dans VS2015. Aucune des suggestions ici n'a fonctionné. Suspectant une sorte de bogue dans l'assistant, d'autant plus que SSMS était capable de se connecter très bien, j'ai décidé d'essayer de le tromper. Ça a marché!
Au lieu d'ajouter la connexion, utilisez «Créer une nouvelle base de données SQL Server». Entrez le nom de votre serveur et un nom aléatoire pour le nouveau DB, par exemple "test".
En supposant que cela réussit, ouvrez l'Explorateur de serveurs dans VS, recherchez la connexion dans Connexions de données, cliquez dessus avec le bouton droit et sélectionnez Modifier la connexion.
Remplacez «test» (à partir de l'étape 1) par le nom de la base de données existante à laquelle vous souhaitez vous connecter. Cliquez sur "Tester la connexion". Cette fois, ça devrait marcher!
Supprimez la base de données temporaire que vous avez créée à l'étape 1.
la source
J'ai encore une solution, je pense. J'ai récemment changé le nom de mon ordinateur, donc je ne pouvais toujours pas me connecter après avoir essayé toutes les méthodes ci-dessus. J'ai changé le nom du serveur. Nom du serveur => (recherchez plus) => sous le moteur de base de données, un nouveau serveur a été trouvé comme le nouveau nom des ordinateurs. Cela a fonctionné, et la vie est à nouveau belle.
la source
J'ai lutté pendant des siècles sur celui-ci avant de réaliser mon erreur - j'avais utilisé des virgules au lieu de points-virgules dans la chaîne de connexion
la source
J'ai eu ce problème mais aucune des suggestions ci-dessus ne l'a résolu.
Je voyais ce problème lorsque j'ai déployé mon site Web sur IIS. Le correctif consistait à accéder aux paramètres avancés par rapport au pool d'applications par défaut et à modifier la propriété d'identité par défaut en Administrator.
la source
Pour moi, c'était un problème de pare-feu.
Vous devez d'abord ajouter le port (tel que 1444 et peut-être 1434) mais aussi
et
La deuxième fois que j'ai eu ce problème, c'est lorsque je suis revenu au pare-feu, les chemins n'étaient pas corrects et j'avais besoin de mettre à jour le formulaire 12 à 13! Un simple clic sur parcourir dans l'onglet Programmes et services a permis de réaliser cela.
Enfin, essayez d'exécuter la commande
Pour moi, il a renvoyé la raison de l'erreur
la source
J'ai essayé à peu près tout sur cette page, mais j'avais des problèmes sous-jacents qui devaient en fait être résolus. Je n'ai pas pu faire certaines choses comme ouvrir SQL Server Configuration Manager, qui a fini par être des fichiers de fournisseur WMI corrompus / manquants.
Il existe de nombreuses façons fastidieuses de résoudre ces problèmes en fonction de ce que j'ai lu, mais l'outil de tweaking.com a pu supprimer et remplacer / réparer mes fichiers de fournisseur WMI (Windows Management Instrumentation).
J'avais l'habitude de faire des réparations d'ordinateurs et dans l'ensemble, l'outil tweaking.com m'a vraiment impressionné, et cela a été suggéré par l'une des pages du forum d'erreur WMI auxquelles je suis allé.
Après avoir résolu ce problème, j'ai pu me connecter à ma base de données SQL, à la fois localement et à distance.
J'espère que cela aide quelqu'un.
la source