Je ne parviens pas à me connecter à la base de données SQL de mes serveurs via une adresse IP

45

J'ai configuré un serveur qui exécute Windows Server 2008 et sur lequel SQL Server 2008 Express est installé.

Je peux me connecter à la base de données SQL Server Express de la machine via le MACHINENAME/SQLEXPRESS.

Cependant, lorsque nous nous connectons via un logiciel ou un script en utilisant une adresse IP, la connexion ne sera pas autorisée.

J'ai essayé:

  • Désactiver le pare-feu.
  • Autoriser les connexions à distance pour la base de données SQL.
  • Activer TCP / IP dans la configuration SQL.

Lorsque nous essayons de nous connecter via le logiciel 'SQL Server Management Studio', nous obtenons le message suivant:

Message d'erreur:

Une erreur s'est produite lors de l'établissement d'une connexion au serveur. Lors de la connexion à SQL Server 2005, cet échec peut être dû au fait que, dans les paramètres par défaut, SQL Server n'autorise pas les connexions à distance. (fournisseur: fournisseur TCP, erreur: 0 - aucune connexion n'a pu être établie car la machine cible l'a activement refusée.) (Microsoft SQL Server, erreur: 10061)

Une connexion a été établie avec le serveur, mais une erreur est survenue pendant le processus de connexion. (fournisseur: fournisseur TCP, erreur: 0 - une connexion établie a été abandonnée par le logiciel de votre ordinateur hôte.) (Microsoft SQL Server, erreur: 10053)

Pouvez-vous s'il vous plaît laissez-moi savoir quand votre libre pour que nous puissions jeter un coup d'oeil parce que je semble être savoir où, j'ai modifié les détails selon certaines informations UK Fast m'a envoyé, mais ils ont dit "Ce n'est pas dans la mission de soutien" , donc ils ne peuvent plus aider.

Je suis dans l'attente de votre réponse.

Shaun Swales
la source
Avez-vous essayé d'ajouter le numéro de port lors de la connexion?
Essayez-vous de vous connecter à "192.168.0.1/SQLEXPRESS" (où 192.168.0.1 est vraiment l' adresse IP de votre serveur ) ou omettez-vous le nom de l'instance?
Rowland Shaw
2
Utilisez-vous vraiment une barre oblique /et non une barre oblique `\`?
Aaron Bertrand

Réponses:

78

Votre serveur SQL est installé comme instance nommée, donc tout d'abord essayer de vous connecter à votre serveur en utilisant le nom du serveur suivant: IP Address\SQLEXPRESS.
Lorsque vous installez SQL Server en tant qu'instance nommée, il utilise les ports TCP / IP dynamiques par défaut. Il est donc impossible de s'y connecter sans spécifier le nom de l'instance (uniquement l'adresse IP). Si vous devez vous connecter à votre serveur sans utiliser le nom d'instance, vous devez reconfigurer votre serveur pour utiliser le port TCP statique. Pour le faire, procédez comme suit:

  1. ouvrez le Gestionnaire de configuration SQL Server;
  2. passer à la SQL Server Network Configuration | Protocols for SQLEXPRESS;
  3. double-cliquez sur le TCP/IPprotocole;
  4. sélectionnez la Yesvaleur dans le Enabledchamp;
  5. passer à l' IP Addressesonglet;
  6. trouvez la IPAllsection;
  7. effacer le TCP Dynamic Portschamp dans cette section;
  8. spécifiez la 1433valeur dans le TCP Portchamp:
    entrez la description de l'image ici
  9. redémarrez votre serveur
    Essayez de vous connecter à votre serveur en utilisant uniquement son adresse IP.
levitologista
la source
7
Merci d'avoir fourni cette information, cela fonctionne très bien, sauf pour une chose. Dans SQL studio de gestion, je dois encore fournir le port pour se connecter au serveur, comme xxxx \ instance, 1433. Je pense que c'est un peu bizarre puisque j'utilise le port standard.
Tomas Jansson
1
Cela a fonctionné pour moi, sauf exactement le contraire de ce que @TomasJansson a signalé: cela fonctionne dans Management Studio sans numéro de port, mais je dois en spécifier un dans ma chaîne de connexion, même si j'utilise le port par défaut (1433).
lpacheco
En plus de l'excellente réponse ci-dessus, dans SQL Server 2017, je me suis rendu compte que vous ne pouvez pas laisser le champ de mot de passe de l'utilisateur (surtout sa) vide. Assurez-vous que vous avez un mot de passe - sinon il ne se connectera pas.
aLearner
UTILISEZ netstat -a -b et trouvez sqlservr.exe et assurez-vous que le port est 1433. Ce n'est pas toujours le cas. Vous allez devenir fou autrement.
Jwize
8

Vous devez activer le suivi du problème résolu en activant le suivi et le redémarrage de tous les services.

  • La memoire partagée
  • TCP / IP
  • Pipes Nommées

Tubes nommés de configuration SQL Server

Baljeetsingh
la source
8

À l'aide de SQL Server Express 2017, en plus des réponses ci-dessus, lorsque vous essayez de vous connecter à l'aide du port, veillez à utiliser la syntaxe par des virgules , et non la syntaxe du signe deux-points, à savoir:

 MyServerName,1433\InstanceName

Après avoir lutté avec ce qui précède pendant quelques heures, après avoir suivi toutes les suggestions, sans que la connexion ne soit établie, j’ai utilisé ce qui précède à la place et il s’est immédiatement connecté via le serveur SQL Server Management Studio à distance. Un premier pas vers le succès.

Brad
la source
1
Cela a résolu le problème pour moi (déplacement du port entre le nom du serveur et le nom de l'instance). Entrer dans le port à la fin n'a pas fonctionné.
masospaghetti
1

J'ai pu me connecter à distance en spécifiant explicitement le numéro de port dynamique, mais ce n'est évidemment pas idéal.

Je semble que le problème était que le service SQL Server Browser était désactivé. Une fois que j'ai activé et démarré ce service, j'ai pu me connecter à distance en spécifiant simplement le nom d'hôte et le nom d'instance.

RobSiklos
la source
0

Ajoutons simplement à ce qui a été dit précédemment. J'ai eu le même problème de ne pas pouvoir me connecter au serveur (client et serveur sur le même bureau) et j'ai parcouru toutes les étapes énumérées ici pour essayer de le réparer. Cependant, j'ai finalement découvert quel était le problème. Tout ce que je devais faire était d'aller dans SQL Server Management Studio, cliquer sur "Services SQL Server" puis cliquer une fois sur le serveur auquel je devais me connecter. Cliquez ensuite sur le bouton vert "Exécuter". Je ne sais pas si cela était spécifique à moi puisque mon ordinateur fonctionnait et accédait au serveur. J'espère que cela aidera tout le monde!

Où se trouve le bouton run / start

Kuolema
la source
1
comment diable ce commentaire a-t-il été si sous-estimé? simple et fixe mon problème asswell
Cavid Hummatov