Question

J'ai une situation très étrange et j'espère que quelqu'un ici sait pourquoi.

Le protocole TCP / IP est activé pour tous les ports sur le port par défaut 1433.

Tous les tests sont cohérents avec SQL Server Management Studio et mon programme.

Ceci fonctionne:

  • Nom_ordinateur \ Nom_instance
  • 127.0.0.1
  • 127.0.0.1,1433
  • 192.168.1.100
  • 192.168.1.100,1433

Cela ne marche PAS:

  • 127.0.0.1 \ NomInstance

Remarque: je sais que ce n'est pas lié au pare-feu car je peux utiliser telnet en 127.0 sur le port 1433.

Note2: La chaîne de connexion n'a pas d'importance, car les tests sont cohérents avec Management Studio, mais je vous la donnerai quand même: server = {0}; sécurité intégrée = True, base de données = MyDatabase

Lors de la lecture de MSDN, il semble que vous devriez pouvoir vous connecter à un nom d’instance via une adresse IP.

Que se passe-t-il ici?

Était-ce utile?

La solution

Nommé par défaut, les instances SQL écoutent un port aléatoire. Vous avez besoin du service Navigateur SQL lancé, ce qui écoute UDP sur 1434 et répond aux demandes de découverte d'instance indiquant au client le véritable port d'écoute. Vous devez également autoriser le pare-feu à percer des trous en fonction du nom du processus, de sorte que SQL puisse se connecter à n’importe quel port.

Sinon, vous devez forcer explicitement l'instance nommée sur le port non nommé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top