SQL Network Interfaces, erreur: 26-erreur Locating Server / Instance spécifiée

Eh bien, j'ai un gros problème que j'essaie de résoudre depuis des jours, mais je n'ai pas pu le faire, donc j'ai besoin de votre aide. J'ai une application web en asp.net 4.0 où j'ai mis en œuvre l'adhésion sur mesure et les fournisseurs de rôle. Quand j'ouvre la page d'accueil de l'application dans Il se connecte à la base de données et récupère quelques informations. Il y a aussi un formulaire de connexion et quand je me connecte il valide l'utilisateur à travers la base de données et me redirige vers les pages réservées mais cette erreur apparaît:

Un une erreur liée au réseau ou à l'instance s'est produite alors que l'établissement d'une connexion à SQL Server. Le serveur n'a pas été trouvé ou n'était pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour permettre les connexions à distance. (fournisseur: SQL Interfaces réseau, erreur: 26-erreur Locating Server / Instance Spécifié)

Description:

<!-Une exception sans entrave s'est produite lors de l'exécution de la actuel demande web. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails De L'Exception:

Système.Données.SqlClient.SqlException: Un réseau ou d' spécifique à l'instance erreur s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur n'a pas été trouvé ou n'est pas accessible. Vérifier que le nom de l'instance est correct et que SQL Server est configuré pour permettre les connexions à distance. (fournisseur: Interfaces réseau SQL, Erreur: 26 - Erreur Locating Server / Instance Spécifiée)

Source De L'Erreur:

<!-Une exception non entravée a été générée lors de l'exécution de la demande web actuelle. Informations concernant l'origine et l'emplacement de l'exception peut être identifiée en utilisant la trace de la pile d'exceptions ci-dessous.

j'ai essayé beaucoup de choses, une solution que j'ai trouvée dans stackoverflow mais rien n'a fonctionné. Voici mon connectionstrings:

<connectionStrings>
  <clear/>
  <remove name="LocalSqlServer"/>
     <add name="LocalSqlServer" connectionString="Data Source=MSSQL2008-1;Initial Catalog=agency;
        Integrated Security=False;User ID=adis_agency;Password=niarda2012;Connect Timeout=180;Encrypt=False;
        Packet Size=4096" providerName="System.Data.SqlClient" />
     <add name="AgencyConn" connectionString="Data Source=MSSQL2008-1;Initial Catalog=agency;
        Integrated Security=False;User ID=adis_agency;Password=niarda2012;Connect Timeout=180;Encrypt=False;
        Packet Size=4096" providerName="System.Data.SqlClient"/>
</connectionStrings>

ci-dessous sont également les membres et le rôle Gestionnaire web.section de configuration:

<membership defaultProvider="AuthProvider">
  <providers>
    <clear/>
      <add name="AuthProvider" type="AuthenticationProvider" applicationName="~/Reserved/" connectionStringName="AgencyConn"/>
  </providers>
</membership>
<roleManager enabled="true" defaultProvider="MyRoleProvider">
  <providers>
    <clear/>
      <add name="MyRoleProvider" type="RoleAccessProvider" connectionStringName="AgencyConn"/>
  </providers>
</roleManager>

S'il vous plaît quelqu'un peut-il aider à comprendre ce qui ne va pas?

24
demandé sur pedram 2012-12-07 03:33:42

13 réponses

si vous vous connectez de Windows machine A à Windows machine B (serveur avec SQL Server installé), et que vous obtenez cette erreur, vous devez faire ce qui suit:

sur la machine B:

1.) activez le service Windows appelé "SQL Server Browser" et démarrez le service

2.) dans le pare-feu Windows, activez le port entrant UDP 1434 (dans le cas où SQL Server Management Studio sur la machine a se connecte ou un programme sur la machine a est de raccordement)

3.) dans le pare-feu Windows, activez le port entrant TCP 1433 (en cas de connexion telnet)

4.) dans SQL Server Configuration Manager, activez le protocole TCP/IP pour le port 1433

enter image description here

36
répondu MacGyver 2013-03-14 18:16:47

pour moi, le problème était que le disque DNS était erroné...

La suivante, ce qui s'est avéré très utile, est en grande partie à partir de ce billet de blog.

Ce message d'erreur est en fait assez spécifique et la solution assez simple.

vous obtenez ce message d'erreur seulement si vous essayez de vous connecter à un serveur SQL nommé instance. Pour une instance par défaut, vous ne voyez jamais cela parce que même si nous avons échoué à ce stade (i.e. serveur / instance spécifiée), nous allons continuer à essayer de se connecter en utilisant des valeurs par défaut, E. g port TCP par défaut 1433, nom de pipe par défaut pour les Pipes nommées.

chaque fois qu'un client fait une connexion au serveur SQL nommé instance, nous enverrons un paquet SSRP UDP au port UDP 1434 de la machine serveur. Nous avons besoin de cette étape pour connaître les informations de configuration de L'instance SQL, par exemple, les Protocoles activés, le port TCP, le nom du pipe, etc. Sans cette information le client ne sait pas comment se connecter et il échoue avec ce message d'erreur.

en un mot, la raison pour laquelle nous recevons ce message d'erreur est que la pile de clients ne pouvait pas recevoir la réponse SSRP UDP packet du navigateur SQL. Afin d'isoler la question exacte, suivez les étapes suivantes:

  1. assurez-vous que le nom de votre serveur est correct, par exemple, pas de faute de frappe sur le nom.

  2. assurez-vous que votre nom d'instance est correct et qu'il y a effectivement une telle instance sur votre machine cible. (Soyez conscient que certains applications convertir \).

  3. assurez-vous que la machine serveur est accessible, e.g, DNS peut être résolu correctement, vous êtes en mesure de faire un ping du serveur (pas toujours vrai).

  4. assurez-vous que le service de navigateur SQL fonctionne sur le serveur.

  5. si le pare-feu est activé sur le serveur, vous devez mettre sqlbrowser.exe et / ou UDP port 1434 dans exception.

il y a un cas d'angle où vous peut toujours échouer Après avoir coché les étapes 1 à 4. Cela peut aussi se produire lorsque:

  1. votre serveur est une instance nommée sur cluster ou sur une machine multi-homed
  2. votre client est une machine Vista avec pare-feu activé.

Un outil qui pourrait s'avérer utile (il a fait pour moi) est PortQry. Si cette commande renvoie des informations et qu'elle contient votre instance cible, alors vous pouvez exclure les possibilités 4) et 5) ci-dessus, ce qui signifie que vous avez un navigateur SQL exécuter et votre pare-feu ne bloque pas le paquet UDP du navigateur SQL. Dans ce cas, vous pouvez consulter d'autres problèmes possibles, comme une chaîne de connexion incorrecte.

pour conclure, le message d'erreur pour la même question lorsque vous utilisez SNAC est: [SQL Native Client]SQL Network Interfaces: erreur Locating Server / Instance spécifiée [xffffff].

Microsoft a récemment publié une visite guidée qui peut servir de guichet unique pour résoudre la majorité des problèmes de connectivité à SQL Server:résolution des erreurs de connectivité à SQL Server

14
répondu Paul Zahra 2017-02-21 09:30:55

la réponse se trouve dans le message d'erreur lui-même:

Error Locating Server/Instance Specified

fondamentalement, vous avez le mauvais\instance de serveur dans la chaîne de connexion, i.e. ce bit:

Data Source=MSSQL2008-1

est erroné et ne pas pointer vers le serveur, ou le servername ne se résout pas à une adresse IP. Deux autres posibilités: (1) le service de navigateur SQL sur la boîte exécutant SQL Server n'est pas en cours d'exécution ou (2) pare-feu Windows (ou un autre pare-feu) sur la boîte SQL nie entrant connexion.

en fin de compte, si le servername est correct, alors il se transforme en un problème de réseau, et vous devez découvrir pourquoi le client ne peut pas se connecter au serveur (et ce sera plus probablement un problème de réseau de base qu'un problème de configuration de serveur SQL).

7
répondu Chris J 2012-12-06 23:38:03

j'avais éprouvé le même problème, dans mon ASP.NET MVC 4 application.

La façon dont je l'ai résolu, était dans le DatabaseContext. En transmettant le nom de la chaîne de connexion que je voulais utiliser à travers le constructeur de base.

public class DatabaseContext : DbContext
{ 
    public DatabaseContext()
        : base("DefaultConnection") // <-- this is what i added.
    {
    }

    public DbSet<SomeModel> SomeModels { get; set; }
}
6
répondu Kristian Nissen 2013-10-11 00:04:52

Nous avons eu le même problème récemment. Nous avons découvert que le code cherche la chaîne de connexion nommée "LocalSqlServer" dans la machine.fichier confg. Nous avons ajouté cette ligne et il fonctionne très bien.

1
répondu NathanPillai 2013-01-04 10:34:42

j'ai eu ce problème, et il fixe. le problème semble être ceci:

mauvais:

<add key="aaa" value="server=[abc\SQL2K8];database=bbb;uid=ccc;password=ddd;" />

droit

<add key="aaa" value="server=abc\SQL2K8;database=bbb;uid=ccc;password=ddd;" />
1
répondu Ash 2014-04-10 15:21:27

le problème est causé par le fait que le DNS n'a pas résolu le nom d'hôte. Essayez d'utiliser l'adresse IP au lieu de "nom de l'ordinateur".

1
répondu user5362299 2015-09-22 07:28:28

j'ai eu la même erreur et j'ai démarré le service SQL Server Express et ça a marché. Espérons que cette aide.

1
répondu Hưng Ngô 2017-08-15 06:24:50

dans mon cas, le nom de la chaîne de connexion dans le web.fichier de configuration a été mal orthographiés. C'est le nom du contexte de base de données utilisé par le Framework Entity. Je suppose que C'est l'erreur que vous obtenez quand EF ne peut pas faire correspondre le nom de connexion avec le contexte.

1
répondu RMuesi 2018-01-24 23:32:52

changez votre .\SQLEXPRESS,et d'ajouter votre SQL express que le nom et il fonctionne pour moi

 <add name="BlogDbContext" connectionString="data source=your name here; initial catalog=CodeFirstDemo; integrated security=True" providerName="System.Data.SqlClient"/>
1
répondu Nosakhare George Ohonba 2018-06-22 23:53:50

ce problème m'a pris environ un jour, sur l'un des miens ASP.NET projet MVC heureusement, j'ai eu le problème sur ma machine et pas dans l'environnement de production, donc comparer web.config je vois et de retrait que l'erreur a disparu... un vrai défi connectez L'erreur SQL Server 26 à ce problème

0
répondu David 2016-12-05 05:40:41

dans mon cas, j'ai cherché des services. Puis j'ai trouvé un service appelé "SQL Server(SQLEXPRESS). Puis clic-droit sur le. Sélectionnez propriétés. Alors cliquez sur démarrer. C'est tout. Le problème est réglé.

0
répondu Robin Khan 2018-06-04 19:35:02

Goto fenêtre+R et tapez services.msc et appuyez sur entrée.

puis démarrer le serveur SQL manuellement si ce n'est pas automatiquement démarré.

puis vous essayez de vous connecter, ça doit être les travaux.

0
répondu Venkatesh K 2018-08-11 17:13:03