54 votes

Utilisez SQL Server Management Studio pour vous connecter à distance à une instance SQL Server Express hébergée sur une machine virtuelle Azure.

La Première Tentative

J'ai un Azure VM avec Windows Server 2012, sur lequel je viens d'installer SQL Server 2012 Express Moteur de Base de données de composants. Ensuite, j'ai suivi les instructions ici pour vous connecter à distance à l'aide de SQL Server Management Studio.

  1. Créer un point de terminaison TCP de la machine virtuelle
  2. Les ports TCP ouverts dans le pare-feu Windows
  3. Configurer SQL Server pour écouter sur le protocole TCP
  4. Configurer SQL Server pour l'authentification en mode mixte
  5. Créer des connexions d'authentification SQL Server
  6. Déterminer le nom DNS de la machine virtuelle
  7. Se connecter au Moteur de Base de données à partir d'un autre ordinateur

Après la septième étape, j'ai reçu le message d'erreur suivant:

Une liée au réseau ou spécifique à l'instance erreur s'est produite lors 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 autoriser les connexions à distance. (fournisseur: Nom Fournisseur de canaux, d'erreur: 40 - impossible d'ouvrir une connexion à SQL Server) (Microsoft SQL Server, message d'Erreur: 53)

De quoi dois-je configurer avant de se connecter à distance?

Dépannage

J'ai suivi les instructions de dépannage ici. Chaque bloc de la citation ci-dessous est une étape décrit ce lien.

Confirmer l'instance de la Base de données SQL Server Moteur est installé et en cours d'exécution.

Fait. Nous avons installé SQL Server Express, et il est en cours d'exécution en tant qu'instance nommée appelé SQLEXPRESS.

Si vous tentez de vous connecter à une instance nommée, assurez-vous que le Service explorateur SQL Server est en cours d'exécution.

Fait. Nous avons suivi les étapes ici pour activer le service SQL Server Browser.

Obtenir l'Adresse IP de l'ordinateur.

Fait. Nous utiliserons plus tard pour tester la connectivité et peut-être pour la configuration d'un port statique pour SQLEXPRESS.

10.241.62.155

fe80::45c:8c29:e19f:f78b%15

Obtenir le numéro de port TCP utilisé par SQL Server.

Fait. Le SQL Server Management Studio journaux de serveur a montré que le serveur écoute sur le port 49169.

Activation Des Protocoles

Fait. Nous avions déjà activé le protocole TCP/IP dans le gestionnaire de configuration, mais nous avons redémarré le Service SQL Server, juste au cas où.

Les tests de Connectivité TCP/IP

Fait. Nous avons utilisé tcping.exe pour tester la connectivité (cmd ping ne fonctionne pas facilement avec Azure.) Nous avons été en mesure de se connecter sur le port 80.

  • tcping.exe buddha.cloudapp.net > succès
  • tcping.exe buddha.cloudapp.net 80 > succès

Le test d'une Connexion Locale

Fait. Nous avons utilisé sqlcmd.exe à partir de l'invite de commande, et ont été en mesure de se connecter localement via TCP avec un nom d'utilisateur et mot de passe.

  • sqlcmd -S Bouddha\SQLEXPRESS (succès via le protocole de mémoire partagée)
  • sqlcmd -S tcp:Bouddha\SQLEXPRESS (succès via TCP)
  • sqlcmd -S tcp:Bouddha\SQLEXPRESS -U sa -P (succès via TCP avec le nom d'utilisateur)
  • sqlcmd -S tcp:10.241.62.155\SQLEXPRESS -U sa -P (succès avec IP interne)

L'ouverture d'un Port dans le Pare-feu

Nous avons ouvert le port sur lequel nous SQLEXPRESS écoute. Les journaux du serveur (ci-dessus) ont montré que SQLEXPRESS était réellement à l'écoute sur le port 49169, mais ce est juste un des nombreux ports dynamiques, et nous avons voulu mettre en place le port statique 1435.

  • L'utilisation de WF.msc pour créer un port TCP règle pour le port de 1435.
  • Utiliser le Portail de Gestion Azure pour créer un point de terminaison TCP de port 1435.

Les instructions de dépannage dire aussi:

Si vous vous connectez à une instance nommée ou un port autre que le port TCP le port 1433, vous devez également ouvrir le port UDP 1434 pour le Serveur SQL Service de navigateur.

Depuis, nous nous connectons SQLEXPRESS (une instance nommée), nous avons eu besoin d'ouvrir le port UDP 1434 pour.

  • L'utilisation de WF.msc pour créer un entrant UCP règle pour le port 1434.
  • Utiliser le Portail de Gestion Azure pour créer un UDP point de terminaison pour le port 1434

De plus amples recherches sur la connexion à des instances nommées révélé port dynamique questions. C'est pourquoi nous sommes en utilisant le port 1435 (statique) à la place de port 49169 (l'une des nombreuses options dynamiques.)

Les Instances de SQL Server Express, SQL Server Compact, et nommé les instances du Moteur de Base de données utilisent des ports dynamiques. Pour configurer ces les instances d'utiliser un port spécifique, voir Configurer un Serveur pour Écouter un Port TCP Spécifique (Gestionnaire de Configuration SQL Server).et ici.

Fait. Nous sommes allés au Gestionnaire de Configuration SQL > SQL Server Configuration Réseau > Protocoles pour SQLEXPRESS > TCP/IP, nous avons fait le suivre.

Protocole Onglet > Écouter Tous > NON.

Les Adresses IP Tab > pour chaque adresse de la liste

  • Activé > Oui
  • Ports TCP Dynamiques > Vide (supprimer le zéro)
  • Le Port TCP > 1435 (ou de votre choix)

Après le redémarrage de l'SQLEXPRESS service, nous avons de nouveau regardé dans le SQL Server Management Studio journaux, et a constaté que le Serveur Écoute sur le port 1435!!! Hourra!

Tester la Connexion

Fait. Nous avons ouvert SQL Server Management Studio sur notre local (non-Azur) de l'ordinateur et connecté.

  • buddha.cloudapp.net,1435 OU de bouddha.cloudapp.net\SQLEXPRESS
  • sa
  • mot de passe

Succès.

18voto

Shaun Luttin Points 1585

Voici les trois pages web sur lequel nous avons trouvé la réponse. La partie la plus difficile de mettre en place des ports statiques pour SQLEXPRESS.

Configuration d'un Serveur SQL de la Machine Virtuelle sur Windows Azure. Ces premières instructions fournies 25% de la réponse.

Comment faire pour Résoudre les problèmes de Connexion à la Base de données SQL Server Moteur. La lecture de ce soin est un autre 50% de la réponse.

Comment faire pour configurer SQL server pour écouter sur des ports différents sur des adresses IP différentes?. Cela a permis à la configuration des ports statiques pour les instances nommées (par exemple SQLEXPRESS.) Il nous a fallu les derniers 25% de la sorte à la réponse.

15voto

Paul Keister Points 7179

Le fait que vous obteniez une erreur du fournisseur Names Pipes nous indique que vous n'utilisez pas le protocole TCP / IP lorsque vous essayez d'établir la connexion. Essayez d’ajouter le préfixe "tcp" et de spécifier le numéro de port:

 tcp:name.cloudapp.net,1433
 

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