Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le programme SQL ServerBrowser s’exécute en tant que service Windows. SQL Server Browser écoute les demandes entrantes de ressources Microsoft SQL Server et fournit des informations sur les instances SQL Server installées sur l’ordinateur. SQL Server Browser contribue aux actions suivantes :
Navigation dans une liste de serveurs disponibles
Connexion à l’instance de serveur appropriée
Connexion à des points de terminaison de connexion administrateur dédiés
Pour chaque instance du moteur de base de données et SSAS, le service SQL Server Browser (sqlbrowser) fournit le nom de l’instance et le numéro de version. SQL Server Browser est installé avec SQL Server.
SQL Server Browser peut être configuré lors de l’installation ou à l’aide du Gestionnaire de configuration SQL Server. Par défaut, le service SQL Server Browser démarre automatiquement :
lors de la mise à niveau d'une installation ;
lors d'une installation sur un cluster ;
lors de l’installation d’une instance nommée de Moteur de base de données , notamment toutes les instances de SQL Server Express ;
lors de l’installation d’une instance nommée d’Analysis Services.
Contexte
Avant SQL Server 2000, une seule instance de SQL Server peut être installée sur un ordinateur. SQL Server était à l’écoute des demandes entrantes sur le port 1433, attribué à SQL Server par l’IANA (Internet Assigned Numbers Authority). Une seule instance de SQL Server peut utiliser un port. Par conséquent, lorsque SQL Server 2000 a introduit la prise en charge de plusieurs instances de SQL Server, le protocole SSRP (SQL Server Resolution Protocol) a été développé pour écouter sur le port UDP 1434. Ce service d’écouteur a répondu aux demandes du client avec les noms des instances installées, ainsi que les ports ou canaux nommés utilisés par l’instance. Pour résoudre les limitations du système SSRP, SQL Server 2005 a introduit le service SQL Server Browser comme remplacement de SSRP.
Fonctionnement de SQL Server Browser
Lorsqu’une instance de SQL Server démarre, si le protocole TCP/IP est activé pour SQL Server, le serveur reçoit un port TCP/IP. Si le protocole canaux nommés est activé, SQL Server écoute sur un canal nommé spécifique. Ce port, ou « canal », est utilisé par cette instance spécifique pour échanger des données avec des applications clientes. Pendant l’installation, le port TCP 1433 et le canal \sql\query sont affectés à l’instance par défaut, mais ceux-ci peuvent être modifiés ultérieurement par l’administrateur du serveur à l’aide du 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, lorsqu’elles sont activées, les instances nommées et SQL Server Express sont configurées pour utiliser des ports dynamiques, autrement dit, un port disponible est affecté au démarrage de SQL Server. Si nécessaire, un port spécifique peut être attribué à une instance de SQL Server. Lors de la connexion, les clients peuvent spécifier un port spécifique ; mais si le port est attribué dynamiquement, le numéro de port peut changer chaque fois que SQL Server est redémarré. Par conséquent, le numéro de port correct est inconnu du client.
Au démarrage, SQL Server Browser démarre et revendique le port UDP 1434. SQL Server Browser lit le Registre, identifie toutes les instances de SQL Server sur l’ordinateur et note les ports et les canaux nommés qu’ils utilisent. Quand un serveur est équipé de deux cartes réseau ou plus, SQL Server Browser retourne le premier port activé qu’il détecte pour SQL Server. SQL Server Browser prend en charge ipv6 et ipv4.
Quand les clients SQL Server demandent des ressources SQL Server, la bibliothèque réseau cliente envoie un message UDP au serveur en utilisant le port 1434. SQL Server Browser répond avec le port TCP/IP ou canal nommé de l’instance demandée. La bibliothèque réseau de l'application cliente établit alors la connexion en envoyant une demande au serveur en utilisant le port ou le canal nommé de l'instance souhaitée. SQL Server Browser ne retourne pas d’informations de port pour l’instance par défaut.
Pour plus d’informations sur le démarrage et l’arrêt du service SQL Server Browser, consultez Start, Stop, Pause, Resume, Restart the Database Engine, SQL Server Agent ou SQL Server Browser Service.
Utilisation de SQL Server Browser
Si le service SQL Server Browser n’est pas en cours d’exécution, vous pouvez toujours vous connecter à SQL Server si vous fournissez le numéro de port correct ou le canal nommé. Par exemple, vous pouvez vous connecter à l’instance par défaut de SQL Server avec TCP/IP s’il s’exécute sur le port 1433.
Toutefois, si le service SQL Server Browser n’est pas en cours d’exécution, les connexions suivantes ne fonctionnent pas :
tout composant essayant de se connecter à une instance nommée sans spécifier intégralement tous les paramètres (tels que le port TCP/IP ou le canal nommé) ;
Tout composant qui génère ou transmet des informations de serveur\instance qui peuvent être utilisées ultérieurement par d’autres composants pour se reconnecter.
connexion à une instance nommée sans fournir le numéro de port ou le canal de communication ;
DAC vers une instance nommée ou l’instance par défaut si vous n’utilisez pas le port TCP/IP 1433.
Service de redirecteur OLAP.
Énumération de serveurs dans SQL Server Management Studio, Enterprise Manager ou Query Analyzer.
Si vous utilisez SQL Server dans un scénario de serveur client (par exemple, lorsque votre application accède à SQL Server sur un réseau), si vous arrêtez ou désactivez le service SQL Server Browser, vous devez affecter un numéro de port spécifique à chaque instance et écrire le code de votre application cliente pour toujours utiliser ce numéro de port. Cette approche présente les inconvénients suivants :
Vous devez mettre à jour et gérer le code de l’application cliente pour vous assurer qu’il se connecte au port approprié.
Le port que vous choisissez pour chaque instance peut être utilisé par un autre service ou une autre application sur le serveur, ce qui entraîne l’indisponibilité de l’instance de SQL Server.
Regroupement
SQL Server Browser n’est pas une ressource en cluster et ne prend pas en charge le basculement d’un nœud de cluster vers l’autre. Par conséquent, dans le cas d’un cluster, SQL Server Browser doit être installé et activé pour chaque nœud du cluster. Sur les clusters, SQL Server Browser écoute sur IP_ANY.
Remarque
Lorsque vous écoutez sur IP_ANY, lorsque vous activez l’écoute sur des adresses IP spécifiques, l’utilisateur doit configurer le même port TCP sur chaque adresse IP, car SQL Server Browser retourne la première paire IP/port qu’il rencontre.
Installation, désinstallation et exécution à partir de la ligne de commande
Par défaut, le programme SQL Server Browser est installé sur C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe.
Le service de navigateur SQL Server est désinstallé lorsque la dernière instance de SQL Server est supprimée.
SQL Server Browser peut être démarré à partir de l’invite de commandes pour la résolution des problèmes, à l’aide du commutateur -c :
<drive>\<path>\sqlbrowser.exe -c
Sécurité
Privilèges de compte
SQL Server Browser écoute sur un port UDP et accepte des requêtes non authentifiées à l’aide du protocole SSRP (SQL Server Resolution Protocol). SQL Server Browser doit être exécuté dans le contexte de sécurité d’un utilisateur à faible privilège afin de réduire l’exposition à une attaque malveillante. Le compte d’ouverture de session peut être modifié à l’aide du Gestionnaire de configuration SQL Server. Les droits d’utilisateur minimum pour SQL Server Browser sont les suivants :
Refuser l'accès à cet ordinateur à partir du réseau
Refuser l’ouverture de session localement
Refuser la connexion en tant que tâche par lots
Refuser l’ouverture de session via les services terminal
Ouvrir une session en tant que service
Lire et écrire les clés de Registre SQL Server liées à la communication réseau (ports et canaux)
Compte par défaut
Le programme d’installation configure SQL Server Browser de sorte qu’il utilise le compte sélectionné pour les services au cours de l’installation. Les autres comptes possibles sont les suivants :
Tout domaine\compte local
Compte de local service
Le compte système local (non recommandé, car il a des privilèges inutiles)
Masquage de SQL Server
Les instances masquées sont des instances de SQL Server qui ne prennent en charge que les connexions de mémoire partagée. Pour SQL Server, définissez l’indicateur HideInstance pour indiquer que SQL Server Browser ne doit pas répondre avec des informations sur cette instance de serveur.
Utilisation d’un pare-feu
Pour communiquer avec le service SQL Server Browser sur un serveur derrière un pare-feu, ouvrez le port UDP 1434, en plus du port TCP utilisé par SQL Server (par exemple, 1433). Pour plus d’informations sur l’utilisation d’un pare-feu, consultez « Guide pratique pour configurer un pare-feu pour SQL Server Access » dans la documentation en ligne de SQL Server.