Connexion distante à une BD sur SQL Server

cascadox Messages postés 58 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 septembre 2012 - 17 juil. 2009 à 13:05
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 - 20 juil. 2009 à 14:31
Bonjour,

j'ai fait une application que je veux rendre accessible sur le réseau pour cela j'ai installer SQLServer sur la machine hot et le client sur une autre machine mais le problème c'est que cette dernière ne veut pas se connectez au serveur et ca m'affiche l'erreur suivante:

Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. le serveur est introuvvable ou n'est pas accessible.Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes.
(provider: Fournisseur de canaux nommés,error:40-Impossible d'ouvrir une connexion à SQL Server)

j'ai vérifié l'autorisation de la connexion distante.

merci d'avance
A voir également:

10 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
17 juil. 2009 à 22:10
Quelle version de SQLServer ???

Au niveau de SQLServer, il faut autoriser les connexions à distances (pour SQLServer 2005, il faut passer par l'outil de configuration de la surface d'exposition).
Il faut aussi configurer le mode de connection (TCP ou canaux nommés, perso j'active les 2).
Evidemment vérifier les autres points indiqués dans le message d'erreur.

.....

.....


Et aussi, vérifier dans les parefeux (du serveur et du client) que le port de SQLServer est bien ouvert (port 1433 dans la config par défaut)


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
18 juil. 2009 à 01:57
Et si par le plus grand des hasard tu n'est pas dans la config de base (donc sur le port tcp 1433) soit parceque tu a nommé ton instance soit parceque tu as configurer un autre port (voir un port aléatoir) démarre le service SQL Browser ;)
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
18 juil. 2009 à 09:26
Une instance nommé ne modifie pas le port. Toutes les instances utilise le même port.

(Sauf s'il s'agit d'instances de versions différentes où il est possible, avec un peu d'astuce de modifier le port d'une version et pas des autres, mais c'est pas des cas classiques)


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
20 juil. 2009 à 10:22
Je vais devoir te contredire casy, une instance nommée utilise automatiquement un port different du 1433 sauf configuration contraire, le plus souvent ce port est déterminé dynamiquement au démarrage de l'instance, je te souhaite bien du courage d'ailleur pour acceder une instance nommée sur le port 1433 (sauf si tu l'a configuré pour qu'elle démarre sur ce port).

je quote pour argumenter mes dire ce petit extrait de la page msdn suivante : http://msdn.microsoft.com/fr-fr/library/ms165724(SQL.90).aspx

Au moment du démarrage d'une instance de SQL Server, si les protocoles TCP/IP ou VIA sont activés pour SQL Server, un port TCP/IP est attribué au serveur. Si le protocole des canaux de communication nommés est activé, SQL Server est à l'écoute d'un canal de communication nommé spécifique. Ce port, ou canal de communication, est utilisé par cette instance spécifique pour l'échange de données avec les applications clientes. Au cours de l'installation, le port TCP 1433 et le canal de communication \sql\query sont affectés à l'instance par défaut, mais ceux-ci peuvent être modifiés ultérieurement par l'administrateur du serveur via le Gestionnaire de configuration SQL Server. Dans la mesure où un port ou un canal de communication ne peut être utilisé que par une seule instance de SQL Server, différents numéros de ports et noms de canaux de communication sont attribués pour les instances nommées, y compris SQL Server Express. Par défaut, lorsque les instances nommées sont configurées pour utiliser des ports dynamiques, un port disponible est attribué lors du démarrage de SQL Server. Un port spécifique peut être attribué à une instance SQL Server. Au moment de la connexion, les clients peuvent spécifier le port souhaité. Toutefois, si le port est attribué dynamiquement, le numéro de port peut changer lors de chaque redémarrage de SQL Server, auquel cas le numéro de port correct est inconnu du client.



Cordiallement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cascadox Messages postés 58 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 septembre 2012
20 juil. 2009 à 11:43
bonjour merci pour vos réponses
pour casy oui j'ai vérifier ma configuration et je crois qu'elle est correcte :(
pour ce qui concerne les ports je sais ps comment m'assurer que le port de sqlserver est bien ouvert
ps: j'utilise sqlserver 2005 et vista

cordialement
0
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
20 juil. 2009 à 11:47
Si tu es sur vista je te conseil de passer tres rapidement le SP3 de SQL Server 2005 et de declarer correctement les comptes administrateurs de SQL Server (en effet dans cette configuration un Admin Windows n'est pas automatiquement un admin SQL)
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
20 juil. 2009 à 13:30
une instance nommée utilise automatiquement un port different du 1433 sauf configuration contraire, le plus souvent ce port est déterminé dynamiquement au démarrage de l'instance, je te souhaite bien du courage d'ailleur pour acceder une instance nommée sur le port 1433 (sauf si tu l'a configuré pour qu'elle démarre sur ce port)


J'utilise en permanence les instances nommées, en plus de l'instance par défaut et je n'active jamais que le port 1433. Je n'ai jamais rencontré de problème. Notamment sur une configuration particulière ou il y a l'instance par défaut et 7 instances nommées et ou le serveur est complètement blindé niveau port (une des instance est accessible depuis le web). Il n'y a que le port 1433 d'activé (et un port non standard pour l'administration à distance). Cette configuration marche correctement.

Si ce que tu dis est vrai, je suis curieux de savoir comment mes configurations marchent. Existe-il une ouverture dynamique des ports dans le parefeu ????


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
20 juil. 2009 à 13:47
Je ne m'y connais pas en parfeu, en revanche, "ce que je dis" ne viens pas de moi mais de microsoft, je prend pour aquis que l'editeur d'un produit sais comment il fonctionne.

Dans la mesure où un port ou un canal de communication ne peut être utilisé que par une seule instance de SQL Server
ne viens pas de moi ;)

Tout ce que je peux t'assurer c'est que chez moi aucune instance nommée (et j'en ai quelques centaines) ne tourne sur le port 1433. Les ports sont ouvert dynamiquement par SQL Server au démarrage de l'instance et ils changent a chaque démarrage de l'instance (si l'instance est configurer en port dynamique).

Je dirais donc que Soit ton Serveur n'est pas aussi blindé que ca niveau port TCP. Soit il y a sur ton serveur une configuration qui fait que le firewall detect que SQL Server ouvre un port et l'authorise. Soit que ton firewall fonctionne avec du mappage de port. Soit en dernier lieu que tu confond Instance SQL Server et Base SQL Server.

J'avous en tant que dba que je preferais la derniere solution car 8 instances SQL Server sur un seul serveur, aussi puissant soit il, ca doit faire une sacrée bataille pour les ressources (RAM surtout) et les performances a gros volumes doivent etre desastreuses. Je rappel que les recommandation en la matiere sont d'une seule instances par serveur pour eviter "la guerre des ressources" entre les instances (Cf tous les bons ouvrages sur le sujet).
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
20 juil. 2009 à 14:23
Le serveur est costaud mais malgré tout, je te confirme que niveau ressource c'est pas le top, mais c'est l'exigence du client.
Pour ce serveur là, il y a bien que le port 1433 qui a été ouvert réellement sur le parefeu. Jamais les ports n'ont été configurés sur les instances. A part un mappage, je ne vois pas comment ça pourrait marcher. L'instance accessible depuis le web est aussi mappée sur le 1433 au niveau du routeur internet.

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
20 juil. 2009 à 14:31
Si tu es curieux nous pourrons continuer cette discussion en MP, j'ai develloper une petite appli en vb6 (qui est si mal codé que je refuse de la livrer ici mais je suis pas dev a la base ^^) qui interroge le service SQL Browser sur le port 1434 en UDP via le protocole SSRP de microsoft (decrit dans le document [MC-SQLR] ? v20090521 téléchargeable sur les msdn) pour connaitre sur un serveur (ou plusieur) les instances sql server installé, leur noms, leur port / Pipe d'ecoute, leur port DAC, et toutes les autres infos possible de reccruperer via SSRP. Tu pourrais via ce genre de requete ssrp voir sur quels port ecoutent reelement tes instances et determiné ainsi si tu as affaire a un mappage de port de ton firewall.
0
Rejoignez-nous