2008-11-21 6 views
8

Je cours SQL Server 2008 Express sur Windows XP sur une instance de VirtualPC dans un hôte Windows XP. Je veux pouvoir me connecter aux bases de données sur l'instance d'invité en utilisant SSMS sur l'hôte. Lorsque je vais me connecter à partir de SSMS sur l'hôte et rechercher des serveurs, je vois l'instance de SQL Server sur l'invité. Cependant, lorsque j'essaie de me connecter en utilisant une connexion d'authentification SQL, j'obtiens l'erreur de connexion suivante:Comment rendre SQL Server s'exécutant dans Virtual PC accessible à l'OS hôte?

Une erreur liée au réseau ou à une instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou inaccessible. Vérifiez que le nom d'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (Fournisseur: SQL Interfaces réseau, erreur: 28 - serveur ne supporte pas le protocole requis) (Microsoft SQL Server, Erreur: -1)

J'ai:
* essayé la connexion avec les deux tubes de nom et TCP/IP
* veillé à ce que le service Explorateur SQL est en
* veillé à ce que le pare-feu sur le client est ouvert
* le serveur est configuré pour permettre les connexions à distance (en fonction des propriétés du moteur de base de données au sein de SSMS sur l'hôte)

Qu'est-ce qui me manque?

EDIT: J'ai compris cela. Ma résolution est ci-dessous.

Répondre

5

AUTO-ACCEPTÉ RÉPONSE

Merci pour les idées. Après beaucoup de tripoter, j'ai commencé à travailler. Il s'est avéré que je n'étais pas allé dans le gestionnaire de configuration Sql Server et activé TCP/IP et Named Pipes en tant que protocoles réseau. Ainsi, même si SSMS a déclaré que les connexions à distance étaient activées, il n'y avait pas de protocole pour les autoriser autres que la mémoire partagée. Après cela, j'ai redémarré le service SQL Server, mais les choses ne semblaient toujours pas fonctionner correctement. Pourtant, une fois que j'avais redémarré à la fois l'invité et l'hôte, tout fonctionnait comme prévu.

2

Comment sont vos paramètres IP? Partagez-vous la même adresse IP entre les deux machines? Si c'est le cas, alors peut-être que lorsque vos clients tentent de se connecter à 10.1.1.10, ils atteignent l'adresse IP de la machine hébergeant l'instance VPC et cette machine n'exécute pas l'instance SQL Server. Si possible, demandez à VPC d'obtenir sa propre adresse IP et d'essayer cela.

1

Généralement double vérifier ce que vous avez déjà dit,
éteignez le pare-feu invité pour vous assurer que ce n'est pas le cas.
Assurez-vous que le réseau de votre machine virtuelle est défini sur pont et non sur NAT.
Essayez de vous connecter à l'adresse IP de l'invité au lieu de son nom.
Assurez-vous que les connexions à distance sont autorisées par le serveur SQL et que le client et le serveur utilisent tcp/ip (ou des canaux nommés si vous préférez).
Je ne sais pas si l'activation de connexions distantes nécessite un redémarrage du serveur SQL.
Essayez d'utiliser l'authentification SQL pour éliminer un problème d'authentification. Courez-vous sur un domaine?

0

Pour ajouter certaines étapes qui ne sont pas explicitement appelées ci-dessus, ce qui a fonctionné dans mon expérience a été de configurer la mise en réseau du PC virtuel sur ma carte réseau physique.

Puis désactivé le pare-feu Windows pour le profil public.

Espérons que pourrait effectivement bloquer que vers le bas au port 1433.

En outre, le système d'exploitation invité, si SQL Server est installé avec uniquement Windows Auth, vous ajoutez plus tard auth SQL, notez que par défaut « sa » est désactivée pour l'accès de connexion. Soit 'enable' Se connecter pour 'sa' ou (meilleure idée) créer des Logins avec les permissions appropriées si nécessaire.

Questions connexes