Que ce soit depuis SSMS où seulement quelques instances apparaissent dans les combos-box ou bien sont découvertes automatiquement. Le résultat n'est guère meilleur depuis SQLCMD et la commande LIST(cf établir la liste des serveurs).
Pour comprendre pourquoi la découverte des instances SQL Server est si difficile il est nécessaire de se pencher d'un peu plus près sur le fonctionnement réseau et plus exactement sur le fonctionnement du protocole UDP car c'est bien lui qui est utilisé dans le cadre de cette découverte.
Reposons tout d'abord quelques grands principes sur le fonctionnement d'UDP qui n'est en fait que l'un des protocoles TCP/IP. C'est en effet ce protocole UDP qui est utilisé pour découvrir les instances. SQL Server utilise également UDP pour découvrir comment se connecté à une instance nommée.
Dans les 2 cas la demande de connection est adressé via UDP sur le port 1434. Mais dans le cas de la découverte l'outils client effectue un broadcats, tandis que lors de l'établissement d'une connexion la demande est adressé avec une adresse IP de destination précise.
Lorsque le client (sqlcmd par exemple) adresse une demande de type broadcast sur le port 1434 il utilise l'adresse de destination 255.255.255.255. après cet envoie, le client attend donc les réponses des instances SQL Server. Sans réponse, il n'est pas possible de découvrir le serveur.
Plusieurs raisons peuvent expliquer la non découverte :
Pour remedier à ce problème il est nécessaire d'avoir recours à des outils tiers. Il est possible de citer par exemple SQL Ping ( http://www.sqlsecurity.com/Tools/FreeTools/tabid/65/Default.aspx)