Pourquoi est-ce que je reçois «Impossible de se connecter au server – Une erreur liée au réseau ou à une instance spécifique»?

Je reçois l'erreur suivante lors de la tentative de connection à SQL Server:

Impossible de se connecter à 108.163.224.173.

Une erreur liée au réseau ou à une instance s'est produite lors de l'établissement d'une connection à SQL Server.

Le server est introuvable ou inaccessible. Vérifiez que le nom d'instance est correct et que SQL Server est configuré pour autoriser les connections distantes.

(fournisseur: fournisseur de canaux nommés, erreur: 40 – Impossible d'ouvrir une connection à SQL Server) (Microsoft SQL Server, erreur: 1326)

Cette erreur est levée lorsque j'essaie de configurer ma database en vue gridview dans Visual Studio 2010. Je ne sais pas comment déboguer cette erreur.

Comment voulez-vous déboguer cette erreur? Quelles mesures dois-je prendre afin de déterminer ce qui se passe réellement ici, en plus de celui mentionné dans le message d'erreur?

J'ai trouvé les techniques suivantes utiles:

  1. Assurez-vous que votre moteur de database est configuré pour accepter les connections à distance :

    • Démarrer> Tous les programmes> SQL Server 2005> devises de configuration> Configuration de la surface d'exposition SQL Server
    • Cliquez sur Configuration de la surface d'exposition pour les services et les connections
    • Sélectionnez l'instance qui rencontre un problème> Moteur de database> logins distantes
    • Activer les connections locales et distantes
    • Redémarrer l'instance
  2. Vous devrez peut-être créer une exception sur le pare-feu pour l'instance SQL Server et le port que vous utilisez:

    • Démarrer> Exécuter> Firewall.cpl
    • Cliquez sur l'onglet "exceptions"
    • Ajouter sqlservr.exe (généralement situé dans C:\Program Files (x86)\Microsoft SQL Server\MSSQL.x\MSSQL\Bin , vérifiez vos installations pour le path du dossier réel) et le port (par défaut est 1433 )
    • Vérifiez également votre string de connection
    • De FIX: ERREUR: Impossible d'ouvrir une connection à SQL Server :
  3. Vérifiez si vos services de server SQL fonctionnent correctement:

    • Allez dans Tous les programmes> Microsoft SQL Server 2008> devises de configuration> Gestionnaire de configuration SQL Server> Services SQL Server
    • Vérifiez que l'état du service SQL Server est en cours d'exécution.

    En outre, assurez-vous que votre server distant se trouve sur le même réseau . Exécutez sqlcmd -L pour vérifier si votre server est inclus dans votre list de réseau.

  4. Activer TCP / IP dans la configuration de SQL Server

    Lorsque deux servers SQL ou plus sont connectés sur le réseau, ils communiquent via TCP / IP. Le port par défaut de l'installation de SQL Server est 1433. Ce port peut être modifié via le Gestionnaire de configuration SQL Server. TCP / IP doit être activé pour que SQL Server soit connecté.

    • Allez dans Tous les programmes >> Microsoft SQL Server 2008 >> devises de configuration >> Gestionnaire de configuration SQL Server >> Sélectionnez TCP / IP
    • Clic droit sur TCP / IP >> Cliquez sur Activer

    Vous devez redémarrer les services SQL Server pour que toutes les modifications prennent effet. Cliquez avec le button droit de la souris et accédez aux propriétés du menu pour sélectionner l'location où le port par défaut de SQL Server peut être modifié.

J'ai une solution pour moi:

Ouvrez "Gestionnaire de configuration SQL Server"

Maintenant, click "Configuration du réseau SQL Server" et click "Protocoles pour le nom "

Clic droit sur "TCP / IP" (assurez-vous qu'il est activé) Cliquez sur properties

Maintenant, select l'onglet "Adresses IP" – et – Allez à la dernière input "IP All"

Entrez "Port TCP" 1433.

Redémarrez maintenant "SQL Server .Name". en utilisant "services.msc" (winKey + r)

Ça va marcher…

Je résous ce problème en ouvrant des services puis commencez à exécuter le service Sql Server (Sqlexpress) .

service image

Ajout de mon commentaire fortement mis en favoris comme réponse avec des captures d'écran.

J'ai passé beaucoup de time là-dessus, finalement ce qui a fonctionné pour moi est:

1) Ouvrir Sql Server Configuration Manager -> Configuration réseau SQL Server -> Protocoles pour <(INSTANCE)> -> TCP / IP (double-cliquer dessus).

entrez la description de l'image ici

2) Sélectionnez -> Adresses IP (onglet) .

3) Allez à la dernière input IP All et mentionnez le port TCP 1433 .

entrez la description de l'image ici

4) Appuyez sur Win + R et entrez services.msc .

5) Maintenant, redémarrez SQL Server <(INSTANCE)> .

entrez la description de l'image ici

Après cela, le problème a été résolu!

Si aucune des solutions ci-dessus ne fonctionne (rien ne fonctionne pour moi) alors il suffit de redémarrer votre ordinateur et vous pourrez vous connecter à votre server sql (localhost).

J'ai eu la même erreur quand j'ai voulu exécuter mon projet WinForms (qui inclut travailler avec une database de SQL Server et qui a fonctionné parfaitement sur mon PC) sur un autre PC. Le problème était dans Windows Firewall sur mon PC. J'ai résolu cela en ajoutant deux règles. Voici toute la procédure permettant d'autoriser SQL Server via le pare-feu Windows:

  1. Ouvrez "Exécuter" et entrez services.msc
  2. Recherchez le service pour SQL Server (nom de l'instance) et SQL Server Browser. Un à la fois, faites un clic droit, select "properties", copyz le path vers le file exe
  3. Puis ouvrez firewall.cpl , click Autoriser une application ou append une règle, ajoutez le path précédemment copié (il y a une procédure à suivre), cochez Domain et Private, décochez Public.

Ceci est le lien YouTube où vous pouvez voir cette procédure: Autoriser SQL Server via le pare-feu Windows

Appuyez sur la window + R (Run window Open) et dans le type de window d'exécution "services.msc" et les nouveaux services ouverts, searchz le service SQL SERVER(SQLEXPRESS) et essayez à nouveau cela fonctionne pour moi. entrez la description de l'image ici

Après avoir fait tout ce qui est mentionné ici:
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 / Toujours n'a pas fonctionné pour moi.

Les étapes ont fonctionné pour moi:

Start > Run > cmd > sqlcmd -L

Il vous requestra le nom du server. Assurez-vous que ce nom de server est le même que celui auquel vous essayez de vous connecter dans la boîte CONNECT TO SERVER du studio de gestion SQL.

J'ai fait cette erreur stupide, je continue à utiliser MSSQLSERVER plutôt en utilisant ce nom de server.

J'espère que cela aide les gens qui font des erreurs stupides comme moi.

Merci.

Essayez d'append "\ SQLEXPRESS" à votre nom de server

par exemple "MY-SERVER \ SQLEXPRESS"

entrez la description de l'image ici

Je rencontrais le même problème et le problème était que j'avais plusieurs projets dans la solution ( Web et Droid ) et même si le Default project était choisi dans la Package Manager Console il utilisait la string de connection du projet Droid :

 PM> update-database -Verbose Using StartUp project 'Droid'. <-- DROID Using NuGet project 'Web'. <-- WEB Specify the '-Verbose' flag to view the SQL statements being applied to the target database. <!-- BAD TARGET DATABASE --> Target database is: 'DefaultConnection' (DataSource: .\SQLEXPRESS, Provider: System.Data.SqlClient, Origin: Convention). System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) [REMOVED TEXT] ClientConnectionId:00000000-0000-0000-0000-000000000000 Error Number:-1,State:0,Class:20 A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) 

Après avoir défini le Startup Project sur le Web et le Default Project dans la Package Manger Console j'ai réussi à le faire fonctionner.

J'utilise SQL Server 2016 et Windows 10.

entrez la description de l'image ici

La première chose à faire est de permettre une connection à distance à SQL Server. Ce que j'ai fait est de taper sqlservermanager13.msc au menu Démarrer afin d'ouvrir le Gestionnaire de configuration SQL Server. Assurez-vous que l'état TCP / IP est activé. entrez la description de l'image ici

Vérifiez votre numéro de port TCP en double-cliquant sur le nom du protocole TCP / IP. Habituellement, il est 1433 par défaut.

entrez la description de l'image ici

Les procédures suivantes configurent le pare-feu Windows en utilisant le composant logiciel enfichable Pare-feu Windows avec security avancée Microsoft Management Console (MMC). Le Pare-feu Windows avec security avancée configure uniquement le profil actuel.

Pour ouvrir un port dans le pare-feu Windows pour l'access TCP

  1. Dans le menu Démarrer, click Exécuter, tapez WF.msc et puis click OK.
  2. Dans le Pare-feu Windows avec security avancée, dans le volet de gauche, cliquez avec le button droit sur Règles de trafic entrant, puis click Nouvelle règle dans le volet Actions.
  3. Dans la boîte de dialog Type de règle, select Port, puis click Suivant.
  4. Dans la boîte de dialog Protocole et ports, select TCP. Sélectionnez Ports locaux spécifiques, puis tapez le numéro de port de l'instance du moteur de database, par exemple 1433 pour l'instance par défaut. Cliquez sur Suivant.
  5. Dans la boîte de dialog Action, select Autoriser la connection, puis click Suivant.
  6. Dans la boîte de dialog Profil, select les profils qui décrivent l'environnement de connection de l'ordinateur lorsque vous souhaitez vous connecter au moteur de database, puis click Suivant.
  7. Dans la boîte de dialog Nom, tapez un nom et une description pour cette règle, puis click Terminer.

Une autre chose à configurer.

Pour ouvrir l'access à SQL Server lors de l'utilisation de ports dynamics

  1. Dans le menu Démarrer, click Exécuter, tapez WF.msc et puis click OK.
  2. Dans le Pare-feu Windows avec security avancée, dans le volet de gauche, cliquez avec le button droit sur Règles de trafic entrant, puis click Nouvelle règle dans le volet Actions.
  3. Dans la boîte de dialog Type de règle, select Programme, puis click Suivant.
  4. Dans la boîte de dialog Programme, select Ce path d'access au programme. Cliquez sur Parcourir, accédez à l'instance de SQL Server à laquelle vous souhaitez accéder via le pare-feu, puis click Ouvrir. Par défaut, SQL Server est dans C: \ Program Files \ Microsoft SQL Server \ MSSQL13.MSSQLSERVER \ MSSQL \ Binn \ Sqlservr.exe. Cliquez sur Suivant.
  5. Dans la boîte de dialog Action, select Autoriser la connection, puis click Suivant.
  6. Dans la boîte de dialog Profil, select les profils qui décrivent l'environnement de connection de l'ordinateur lorsque vous souhaitez vous connecter au moteur de database, puis click Suivant.
  7. Dans la boîte de dialog Nom, tapez un nom et une description pour cette règle, puis click Terminer.

Jetez un oeil à Microsoft doucmentation Configurer un pare-feu Windows pour l'access au moteur de database

Je dois exécuter le service SQL Server Browser dans SQL Server Configuration Manager . L'installation ne peut pas découvrir le service nouvellement créé sans cela.

Vous pouvez tester les methods suivantes.

  • une

    1. Vérifiez la string de connection du projet.
  • b

    1. Accédez aux services et redémarrez l'instance SQLServer.
  • c

    1. Ouvrez 'SQLServer Configuration Manager'
    2. Dans le panneau de gauche, select «Configuration du réseau SQL Server» et développez-le
    3. Sélectionnez 'Protocoles pour MSSQLServer'
    4. Dans le panneau de droite, click 'TCP / IP'
    5. Dans l'onglet "Protocole", définissez "Activé" sur "Oui"
    6. Dans l'onglet "Adresses IP", faites défiler vers le bas
    7. Dans le 'IPAll', définissez 'TCP Port' sur 1433
    1. Ouvrir le 'Pare-feu avec security avancée'
    2. Dans l'onglet de droite, select "Règles entrantes"

Dans l'onglet du milieu find l'logging que «Port local» est 1433, Si vous ne pouvez pas le find, essayez de le créer avec les niveaux suivants

  • Dans le menu Démarrer, click Exécuter, tapez "WF.msc", puis click OK
  • Dans le panneau de gauche, click le 'Pare-feu Windows avec security avancée'
  • Dans le panneau de droite, cliquez avec le button droit sur "Règles de trafic entrant", puis click "Nouvelle règle".
  • Dans la boîte de dialog Type de règle, select "Port", puis click Suivant
  • Dans la boîte de dialog Protocole et ports, select 'TCP' et select 'Ports locaux spécifiques', puis tapez le numéro de port 1433, click Suivant
  • Dans la boîte de dialog Action, select Autoriser la connection, puis click Suivant
  • Dans la boîte de dialog "Profil", cochez la case Domaine, Privé et Public, puis click Suivant
  • Dans la boîte de dialog "Nom", tapez "SQL 1433 Port" et pour une description description d'écriture pour propre. Puis click Terminer
  1. Ensuite, dans l'onglet du milieu, double-click l'élément trouvé (Instance) ou l'élément créé du nom 'SQL 1433 Port' par vous.
  2. Sélectionnez l'onglet "Portée" dans la boîte de dialog ouverte (properties de SQL Server)
  3. Sur le PC local Accédez à google.com dans votre browser et searchz "Mon adresse IP".
  4. puis copy de votre 'IP'
  5. Allez sur le server distant et dans la boîte de dialog 'properties SQL Server' de l'onglet 'Portée', dans l'option 'Adresse IP distante', select l'option 'Ces adresses IP' et click le button 'Ajouter'
  6. Dans la boîte de dialog ouverte (adresse IP), select l'option «Cette adresse IP ou sous-réseau» et collez votre «adresse IP», click le button OK.

Alors que les solutions ci-dessus devraient fonctionner dans 90% des cas, mais si vous lisez toujours cette réponse !!! Vous essayez probablement de vous connecter à un server différent de celui prévu. Cela peut être dû à un file de configuration pointant vers un server SQL différent du server réel auquel vous essayez de vous connecter.

Cela m'est arrivé au less.

Cette solution résout aussi les erreurs de réseau et le service derrière le server sql

J'ai répondu à une question similaire ici, vous devez stat l'autre open Run type-> services.msc – sous services -> sort by stopped vous verrez un tas de services SQL arrêté Right click and start

Pour commencer – il y a 4 problèmes qui pourraient être la cause des erreurs de connectivité de LocalDb SqlExpress Sql Server SQL Network Interfaces, error: 50 - Local Database Runtime error occurred , avant de commencer vous devez renommer la v11 ou v12 en (localdb) \ mssqllocaldb

  • Vous n'avez pas les services en cours d'exécution
  • Vous n'avez pas les ports firelwall configurés ici
  • Votre installation a et problème / corrompu (les étapes ci-dessous vous aident à démarrer correctement)
  • Vous n'avez pas renommé le V11 ou le 12 en mssqllocaldb

J'ai trouvé que le plus simple est de faire ci-dessous – j'ai joint les photos et les étapes pour get de l'aide.

Vérifiez d'abord quelle instance vous avez installée, vous pouvez le faire en vérifiant le registre et en exécutant cmd

  1. cmd> Sqllocaldb.exe i
  2. cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore" si cette étape échoue, vous pouvez supprimer avec l'option d cmd> Sqllocaldb.exe d "someDb"
  3. cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
  4. cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"

SqlLOCALDb_edited.png

Cette erreur est principalement survenu lorsque le service SQL est arrêté. Vous devez redémarrer le service. Pour accéder à cette window, vous devez searchr les services comme ceci- entrez la description de l'image ici

Ensuite, searchz SQLSERVER (MSSQLSERVER) et redémarrez le service.

entrez la description de l'image ici

J'espère que cela fonctionnera.

Cette erreur se produit lorsque votre instance de server sql est stopped .

ALLER à tous les programmes> SQL Server> devises de configuration> SQL SERVER CONFIGURATION MANAGER

Cliquez ensuite sur SQL sERVER SERVICES, la list des instances apparaîtra, select l'instance en question et click l'icône de lecture dans la barre d'outils supérieure, espérons que cela vous aidera.

cette réponse est très tardive (mais mieux vaut tard que jamais;)

Je suis passé d'un ordinateur portable de travail sur Windows 7 à un ordinateur portable de travail sur Windows 10. J'avais utilisé avec succès SSMS2016 sur Windows 7.

Le même problème a été appliqué à l'aide de SSMS2012 ou SSMS2016. Mon access aux servers de 10 sql utilisant l'authentification de Windows était toujours le même. Je pourrais tester cela à partir d'un autre server. Cependant, 2 des 10 servers ne se connecteraient pas à partir de mon ordinateur portable . Les deux étaient ms sql server 9 mais je pouvais me connecter à d'autres bases de données sql server 9.

La solution consistait à append une règle de pare-feu (à l'aide du pare-feu Windows avec security avancée).

Créer une règle entrante pour chaque SSMS par exemple C: \ Program Files (x 86) \ Microsoft SQL Server \ 130 \ devises \ Binn \ ManagementStudio \ Ssms.exe

Je ne suis pas un expert du réseau, donc je n'ai pas inclus les détails, mais j'espère que cela vous indiquera la bonne direction.


Erreur msg (règle de pré-pare-feu) "Une erreur liée au réseau ou spécifique à une instance s'est produite lors de l'établissement d'une connection à SQL Server Le server était introuvable ou inaccessible Vérifiez que le nom de l'instance est correct et que SQL Server est configuré Autoriser les connections distantes (fournisseur: SQL Network Interfaces, erreur: 26 – Erreur de localization du server / de l'instance spécifiée) (Fournisseur de données SQL Server SqlClient)

Si vous rencontrez soudainement cette erreur dans un environnement de production et que rien n'a changé, essayez les 4 éléments suivants dans l'ordre ci-dessous pour voir si elle est réparée.

  1. redémarrez le service du server SQL.
  2. redémarrez le service (disons IIS) qui appelle le server sql. (Le problème est probablement ici si le time entre le début de l'appel de service au server SQL et le moment où vous obtenez l'erreur de réponse est très court (environ une seconde ou deux secondes).
  3. redémarrez le server SQL Server est allumé.
  4. redémarrez le server le service appelant est activé.

MS SQL Server 2014 dans Windows 7

1) aller au programme de search et taper (Gestionnaire de configuration Sql Server 2014)

2) puis click "Sql server Service" dans le menu de l'arborescence à gauche

3) vérifiez votre instance de l'état du service du server SQL (arrêt ou exécution)

4) si c'est l'arrêt s'il vous plaît changer le statut en cours et connectez-vous dans votre studio de gestion de server sql 2014

Résumé

Pour résoudre ce problème rencontré lors de l' exécution de l'application locale par rapport à la database distante , utilisez le Gestionnaire de configuration SQL Server pour append un alias à la database distante.

Détails

J'avais récemment rencontré ce problème lors de la transition d'un ordinateur Windows 7 vers un ordinateur portable Windows 10. J'exécutais un environnement de développement et d'exécution local accédant à notre database de développement sur un server distant. Nous accédons à la database de développement via une configuration d'alias de server via l'utilitaire réseau client SQL Server (cliconfg.exe). Après avoir confirmé que l'alias était correctement installé dans les versions 64 et 32 ​​bits de l'utilitaire et que le server de database était accessible depuis le nouvel ordinateur portable via SSMS, l'erreur était toujours visible par l'OP (pas l'adresse IP du cours).

Il était nécessaire d'utiliser SQL Server Configuration Manager pour append un alias pour le server de database de suppression Dev. Correction des choses.

entrez la description de l'image ici

Pourquoi cette erreur est si ennuyeuse et bruyante, juste parce qu'elle peut se produire dans une situation variée.

J'ai fait toutes les approches ci-dessus, et encore être aspiré. Alors assurez-vous que vous avez fait la même chose que moi avant de naviguer vers le bas.

Peut-être que je ne suis pas capable de régler votre situation instantanément, mais je peux vous indiquer une direction ou penser à vous (Celui qui glisse finalement ici). J'ai commencé à réfléchir à l'erreur de mon programme en cours d'exécution après m'être assuré que le nom de l'instance est clairement correct et définir ma database pour permettre le contrôle à distance en suivant les methods ci-dessus. Après cela, j'ai soupçonné quelque chose de mal se passer dans mon extrait de code de connection SQL.

Solution de mon problème:

  • Vérifiez ma fonction sqlconnection

  • Cliquez pour voir sa configuration

  • Nouvelle connection

entrez la description de l'image ici

  • Sélectionnez votre nom de server

entrez la description de l'image ici

Cela fonctionne pour moi de réfléchir à ce qui se passe exactement dans le process de connection. J'espère que ma pensée vous mènera à tuer votre erreur.

J'ai essayé toutes les autres réponses à cette question et certaines d'entre elles ont probablement joué un rôle dans la mise en place de cette solution, mais je ne pouvais toujours pas me connecter à la DB à distance. J'utilisais un server SQL sur une machine virtuelle Azure.

Je me suis finalement souvenu que la machine virtuelle possédait des points de terminaison contrôlés par le proxy de count Azure. J'ai donc accédé au portail Azure et ajouté 1433 comme sharepoint terminaison disponible, ce qui m'a permis de me connecter à mon instance SQL.

J'espère que cela aide quelqu'un qui a essayé toutes les autres réponses et qui n'a toujours pas de chance!

J'ai résolu ce problème en définissant le projet qui utilise Entity Framework comme projet de démarrage, puis exécutez la command "update-database".

Si vous rencontrez cela lors du debugging dans Visual Studio, assurez-vous que le path de génération du projet pointe vers un lecteur local ou procédez comme suit pour accorder des permissions au dossier réseau.

Il semble que votre instance de localdb ne soit pas en cours d'exécution. Pour le démarrer au démarrage de l'ordinateur, ajoutez dans votre menu Démarrer \ Fichier de démarrage Fichier BAT avec la ligne suivante

 sqllocaldb start name_of_instance 

name_of_instance est le nom de l'instance localdb que vous voulez démarrer. Vous pouvez répertorier les instances disponibles dans la command line à l'aide de sqllocaldb i .

Par exemple, si vous utilisez SQL Server Management Studio et que vous vous connectez à Server Name (localdb)\v11.0 , votre file BAT ressemblera à

 sqllocaldb start v11.0 

Mon problème a commencé lorsque j'ai essayé de replace le server d' IIS Express par Local IIS (en utilisant LocalDB ).

entrez la description de l'image ici

J'utilisais LocalDB (à des fins de développement) et lorsque je revenais de Local IIS à IIS Express, Visual Studio avait basculé ma source de données de Source de données = (LocalDb) \ MSSQLLocalDB à Source de données =. \ SQLEXPRESS

Chaîne de connection incorrecte

<add name="DefaultConnection" connectionSsortingng="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />

Corriger la string de connection

<add name="DefaultConnection" connectionSsortingng="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True" providerName="System.Data.SqlClient" />

J'espère que cela aidera quelqu'un là-bas.

Mon problème était que vous devez avoir une input de string de connection à la fois dans votre couche de référentiel et votre couche Web. Une fois que je l'ai ajouté à mon web.config ainsi qu'à mon app.config, Entity Framework a pu créer la migration.

Ma question est la suivante: web.config en at-il besoin, alors qu'il n'y a absolument aucun access à la database.

En plus de tout essayer comme suggéré par Teo Chuen Wei Bryan, assurez-vous que vous faites aussi reference au bon nom de server / instance dans la string de connection.

Si vous utilisez la forme abrégée de nom d'hôte / instance sur le server de database ou dans le file web.config, assurez-vous d'utiliser le nom de domaine complet (FQDN) / l'instance

Aussi, pour tester la connectivité à partir d'un server où le client SQL Server n'est pas présent,

-> crée un file text et change son extension de file en .udl

-> Clic droit sur le file et vous pouvez voir l'onglet de connection.

-> Entrez le nom du server et connectez-vous aux informations pour tester la connection au server de database.

J'espère que cela t'aides.

Lorsque j'ai rencontré cette erreur dans Visual Studio,

"Une erreur liée au réseau ou spécifique à une instance s'est produite lors de l'établissement d'une connection à SQL Server. Le server est introuvable ou inaccessible. Vérifiez que le nom d'instance est correct et que SQL Server est configuré pour autoriser les connections distantes. (fournisseur: Fournisseur de tuyaux nommés, erreur: 40 – Impossible d'ouvrir une connection à SQL Server) "

… c'était lors de l'exécution du code C # suivant, qui essayait d'get mes données SQL Server pour les afficher dans une grid. La rupture s'est produite exactement sur la ligne connect.Open ():

  using (var connect = Connections.mySqlConnection) { const ssortingng query = "SELECT Name, Birthdate, Narrative FROM Friends"; using (var command = new SqlCommand(query, connect)) { connect.Open(); using (var dr = command.ExecuteReader()) { while (dr.Read()) { // blah } } } } 

C'était inexplicable parce que la requête SQL était très simple, j'avais la bonne string de connection, et le server de database était disponible. J'ai décidé d'exécuter moi-même la requête SQL directement dans SQL Management Studio et elle s'est très bien déroulée et a généré plusieurs loggings. Mais une chose ressortait des résultats de la requête: il y avait du text HTML mal codé dans un champ de type varchar (max) dans la table des amis (en particulier, certains symboles codés du genre <!-- logés dans la colonne "Narrative" Les données). La ligne de données suspecte ressemblait à ceci:

 Name Birthdate Narrative ==== ========= ============== Fred 21-Oct-79 &lt;!--HTML Comment -->Once upon a time... 

Notez le symbole HTML codé " &lt; ", qui correspond à un caractère "<". D'une façon ou d'une autre, cela a fait son path dans la database et mon code C # ne pouvait pas le récupérer! Il a échoué à chaque fois sur la ligne connect.Open ()! Après avoir modifié manuellement cette ligne de données dans la table de database Friends et mis le caractère décodé "<" à la place, tout a fonctionné! Voici à quoi cette rangée aurait dû ressembler:

 Name Birthdate Narrative ==== ========= ============== Fred 21-Oct-79 <!--HTML Comment -->Once upon a time... 

J'ai édité la mauvaise rangée que j'avais en utilisant cette simple instruction UPDATE ci-dessous. Mais si vous aviez plusieurs lignes de code HTML, vous pourriez avoir besoin d'une instruction UPDATE plus élaborée qui utilise la fonction REPLACE:

 UPDATE Friends SET Narrative = '<!--HTML Comment -->Once upon a time...' WHERE Narrative LIKE '&lt%' 

Donc, la morale de l'histoire est (au less dans mon cas), assainir votre contenu HTML avant de le stocker dans la database et vous n'obtiendrez pas cette erreur cryptique SQL Server en premier lieu! (Euh, désinfecter / décoder correctement votre contenu HTML fait l'object d'une autre discussion digne d'une search StackOverflow séparée si vous avez besoin de plus d'informations!)