403 votes

Activer les connexions à distance pour SQL Server Express 2012

Je viens d'installer SQL Server Express 2012 sur mon serveur à domicile. J'essaie de m'y connecter à partir de Visual Studio 2012 depuis mon PC de bureau, et je reçois sans cesse l'erreur bien connue :

Une erreur liée au réseau ou spécifique à une instance s'est produite lors de l'établissement d'une connexion au serveur SQL. Le serveur n'a pas été trouvé ou n'était pas accessible. Vérifiez que le nom de l'instance est correct et que le serveur SQL est configuré pour permettre les connexions à distance. (fournisseur : Named Pipes Provider, erreur : 40 - Impossible d'ouvrir une connexion au serveur SQL)

Ce que j'ai fait pour essayer de régler ce problème :

  • Exécutez le gestionnaire de configuration de SQL Server sur le serveur et activez le navigateur SQL Server
  • Ajouter une exception de pare-feu Windows sur le serveur pour le TCP, les ports 1433 et 1434 sur le sous-réseau local.
  • Vérifiez que j'ai un login sur l'instance de SQL Server pour l'utilisateur auquel je suis connecté comme sur le bureau.
  • Vérifiez que j'utilise l'authentification Windows sur l'instance du serveur SQL.
  • Redémarrez à plusieurs reprises le serveur SQL et tout le serveur dang.
  • Tirez-moi tous les cheveux.

Comment puis-je obtenir SQL Server 2012 Express pour autoriser les connexions à distance ?

733voto

Kyralessa Points 76456

Eh bien, Je suis content d'avoir demandé . La solution que j'ai finalement trouvée est ici :

Comment configurer SQL Server Express pour permettre les connexions tcp/ip à distance sur le port 1433 ?

  1. Exécutez le gestionnaire de configuration du serveur SQL.
  2. Allez à Configuration du réseau du serveur SQL > Protocoles pour SQLEXPRESS.
  3. Assurez-vous que le TCP/IP est activé.

Jusqu'à présent, tout va bien, et c'est tout à fait normal. Mais ensuite :

  1. Cliquez avec le bouton droit de la souris sur TCP/IP et sélectionnez Propriétés .
  2. Vérifiez que, sous IP2, l'adresse IP est fixée à l'adresse IP de l'ordinateur sur le sous-réseau local.
  3. Faites défiler l'écran vers le bas jusqu'à IPAll.
  4. Veiller à ce que Ports dynamiques TCP est vierge . (Le mien était réglé sur un numéro de port à 5 chiffres).
  5. Veiller à ce que Port TCP est fixé à 1433 . (Le mien était vide.)

(En outre, si vous suivez ces étapes, c'est pas nécessaire pour activer le navigateur SQL Server, et vous devez seulement autoriser le port 1433, et non 1434).

Ces cinq étapes supplémentaires sont quelque chose que je ne me souviens pas avoir déjà dû faire dans une version précédente de SQL Server, Express ou autre. Elles semblent avoir été nécessaires parce que j'utilise une instance nommée (myservername \SQLEXPRESS ) sur le serveur au lieu d'une instance par défaut. Voir ici :

Configurer un serveur pour écouter sur un port TCP spécifique (Gestionnaire de configuration du serveur SQL)

106voto

Rosdi Kasim Points 3588

La bonne façon de se connecter à un serveur SQL distant (sans ouvrir le port UDP 1434 et activer le navigateur SQL Server) est d'utiliser ip et port au lieu de instance désignée .

L'utilisation de l'IP et du port au lieu de l'instance nommée est également plus sûre, car elle réduit la surface d'attaque.

Peut-être que 2 images parlent de 2000 mots...

Cette méthode utilise le port spécifié (c'est ce que la plupart des gens veulent que je crois)..

enter image description here

Cette méthode nécessite l'ouverture du port UDP 1434 et l'exécution du navigateur SQL Server .

enter image description here

32voto

Pete Points 426

Une chose de plus...

Kyralessa fournit de très bonnes informations, mais j'ai une autre chose à ajouter qui me laisse perplexe même après cet article.

Sous Configuration du réseau du serveur SQL > Protocoles pour le serveur > TCP/IP activé. Cliquez avec le bouton droit de la souris sur TCP/IP et choisissez les propriétés. Dans la section Adresses IP, vous devez définir le paramètre Activé sur Oui pour chaque type de connexion que vous utilisez.

enter image description here

18voto

Ageu Points 104

Vous pouvez l'utiliser pour résoudre ce problème :

Allez à DÉMARRAGE > EXÉCUTER, et courez CLICONFG.EXE.

Le protocole Named Pipes sera le premier de la liste, le rétrograder et promouvoir le TCP/IP.

Testez la demande de manière approfondie.

J'espère que cela vous aidera.

15voto

johnroster Points 121

Vous pouvez également définir

Écoutez tous NON

dans le dialogue de protocole puis dans l'adresse IP IP1 (disons)

activé sur Oui,

définir son adresse IP,

régler TCP Dynamic sur Blank et

Port TCP vers 1433 (ou autre)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X