Partager via


Service SQL Server Browser

Mis à jour : 14 avril 2006

Le programme SQL Server Browser s'exécute en tant que service Windows. SQL Server SQL Browser est à l'écoute des demandes entrantes pour les 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 :

  • Affichage de la liste des serveurs disponibles
  • Connexion à l'instance correcte du serveur
  • Connexion aux points de terminaison d'une connexion administrateur dédiée (DAC)

Pour chaque instance du moteur de base de données et de 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 Microsoft SQL Server 2005 et fournit ce service pour les versions antérieures de SQL Server s'exécutant sur cet ordinateur, à compter de Microsoft SQL Server 2005 7.0.

SQL Server Browser peut être configuré pendant l'installation ou à l'aide de l'outil Configuration de la surface d'exposition. Il peut être géré à 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 côte à côte avec une instance de SQL Server 2000 ;
  • lors d'une installation sur un cluster ;
  • lors de l'installation d'une instance nommée de SQL Server 2005 Enterprise Edition, Standard Edition ou Workgroup Edition ;
  • lors de l'installation d'une instance nommée de Analysis Services.

Avant-propos

Avant Microsoft SQL Server 2000, seule une instance de SQL Server pouvait ê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). L'utilisation d'un port étant limitée à une seule instance de SQL Server, 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é afin de permettre une écoute sur le port UDP 1434. Ce service d'écoute répondait aux demandes client avec les noms des instances installées et les ports ou les canaux de communication nommés utilisés par l'instance. Pour parer aux limites du système SSRP, SQL Server 2005 introduit le service SQL Server Browser en remplacement de SSRP.

Fonctionnement de SQL Server Browser

Au moment du démarrage d'une instance de SQL Server, si les protocoles TCP/IP ou VIA sont activés pour SQL Server, un port TCP/IP est attribué au serveur. Si le protocole des canaux de communication nommés est activé, SQL Server est à l'écoute d'un canal de communication nommé spécifique. Ce port, ou « canal de communication », est utilisé par cette instance spécifique pour l'échange de données avec les applications clientes. Au cours de l'installation, le port TCP 1433 et le canal de communication \sql\query sont affectés à l'instance par défaut, mais ceux-ci peuvent être modifiés ultérieurement par l'administrateur du serveur via le 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, lorsque les instances nommées et SQL Server Express sont activés, ils sont configurés pour utiliser des ports dynamiques. En d'autres termes, un port disponible est attribué lors du démarrage de SQL Server. Si nécessaire, un port spécifique peut être attribué à une instance de SQL Server. Au moment de la connexion, les clients peuvent désigner un port spécifique. Toutefois, si le port est attribué dynamiquement, le numéro de port peut changer lors de chaque redémarrage de SQL Server, auquel cas le numéro de port correct est inconnu du client.

Lors du démarrage, SQL Server Browser réclame le port UDP 1434. SQL Server Browser lit le Registre, identifie toutes les instances de SQL Server sur l'ordinateur, puis note les ports et autres canaux de communication nommés qu'elles utilisent. Lorsqu'un serveur est équipé de deux cartes réseau ou plus, SQL Server Browser renvoie le premier port activé qu'il détecte pour SQL Server. SQL Server 2005 et SQL Server Browser prennent en charge ipv6 et ipv4.

Lorsque des clients SQL Server 2000 et SQL Server 2005 demandent des ressources SQL Server sur une instance nommée, la bibliothèque réseau cliente envoie un message UDP au serveur par le biais du port 1434. SQL Server Browser répond avec le port TCP/IP ou un 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 de communication nommé de l'instance souhaitée.

Pour plus d'informations sur le démarrage et l'arrêt du service SQL Server Browser, consultez « Procédure : démarrer et arrêter le service SQL Server Browser » dans la documentation en ligne de SQL Server.

Utilisation de SQL Server Browser

Si le service SQL Server Browser n'est pas en cours d'exécution, vous pouvez quand même vous connecter à SQL Server, à condition d'indiquer le numéro de port ou le canal de communication nommé correct. Par exemple, vous pouvez vous connecter à l'instance par défaut de SQL Server via le protocole TCP/IP si elle 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 de communication nommée) ;
  • tout composant générant ou transmettant des informations serveur/instance qui pourraient ê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 ;
  • connexion administrateur dédiée (DAC) à une instance nommée si le port TCP/IP 1434 n'est pas utilisé ;
  • service redirecteur OLAP ;
  • énumération de serveurs dans SQL Server Management Studio, Enterprise Manager ou dans l'Analyseur de requêtes.

Si vous utilisez SQL Server dans un scénario client-serveur (par exemple, lorsque votre application accède à SQL Server à travers un réseau) et que vous arrêtez ou désactivez le service SQL Server Browser, vous devez attribuer un numéro de port spécifique à chaque instance et écrire le code de votre application cliente afin de toujours utiliser ce numéro de port. Cette approche présente les inconvénients suivants :

  • Vous devez mettre à jour et maintenir le code de l'application cliente pour vous assurer qu'elle se connecte au bon port.
  • Le port que vous choisissez pour chaque instance peut être utilisé par un autre service ou une autre application présents sur le serveur, ce qui entraîne la non-disponibilité de l'instance de SQL Server.

Installation côte à côte avec SQL Server 2000

Dans SQL Server 2000, l'identification des points de terminaison d'une connexion serveur est assurée par le service SQL Server. Dans SQL Server 2005, cette fonction est remplacée par le service SQL Server Browser. Si vous installez SQL Server sur un ordinateur qui exécute également SQL Server 2000 ou MSDE, vous devez vous assurer que SQL Server 2000 ou MSDE est mis à niveau vers le Service Pack 3a (SP3a) ou version ultérieure. Les versions antérieures au SP3a ne permettent pas un partage correct du port 1434 et risquent de rendre vos instances de SQL Server indisponibles aux applications clientes émettant des demandes. Même si vous avez la possibilité de modifier l'ordre de démarrage des services de sorte que le service SQL Server Browser démarre avant SQL Server 2000 ou MSDE, nous vous recommandons de mettre à jour toutes les versions antérieures de SQL Server avec le Service Pack le plus récent.

Si la version de l'instance de SQL Server 2000 installée sur l'ordinateur est antérieure au Service Pack 3a et que le serviceSQL Server Browser n'est pas en cours d'exécution, le service d'écoute de SQL Server 2000 démarre. Si le service SQL Server Browser démarre après le service d'écoute, il attend 5 secondes que SQL Server 2000 abandonne le port 1434. Si cela n'aboutit pas, SQL Server Browser ne démarre pas. Pour résoudre ce problème avec les versions de SQL Server 2000 antérieures au Service Pack 3a, arrêtez SQL Server 2000, démarrez SQL Server Browser, puis redémarrez SQL Server 2000. Toutefois, dans la mesure où le service d'écoute de SQL Server 2000 tentera toujours de démarrer sur le port 1434, il est souhaitable de mettre à niveau l'instance de SQL Server 2000 vers le Service Pack 3a dans les plus brefs délais.

SQL Server 7.0 ne disposant pas de fonctionnalités analogues, il ne se produit aucun conflit avec SQL Server Browser.

Organisation en clusters

SQL Server Browser n'est pas une ressource cluster et ne prend pas en charge le basculement d'un nœud de cluster à 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. Dans les clusters, SQL Server Browser est à l'écoute de IP_ANY.

ms181087.note(fr-fr,SQL.90).gifRemarque :
Dans ce cas, si vous activez l'écoute sur des ports IP spécifiques, l'utilisateur doit configurer le même port TCP sur chaque adresse IP, car SQL Server Browser renvoie la première paire IP/port qu'il détecte.

Installation, désinstallation et exécution à partir de la ligne de commande

Par défaut, le programme SQL Server Browser est installé à l'emplacement C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe. Si SQL Server 2000 est installé sur l'ordinateur mais qu'il n'a pas été mis à niveau avec le Service Pack 3, et si l'instance de SQL Server 2000 ne fait pas l'objet d'une mise à niveau, SQL Server 2000 doit être arrêté pendant l'installation de SQL Server 2005. Si SQL Server 2000 est en cours d'exécution, SQL Server Browser ne peut pas démarrer et réclamer le port 1434, et l'installation risque d'échouer pour cause de connectivité insuffisante.

Le service SQL Server Browser est désinstallé dès lors que la dernière instance de SQL Server 2005 est supprimée. Les instances de SQL Server 2000 retrouvent leur comportement d'origine.

SQL Server Browser peut être démarré à partir de l'invite de commandes pour des besoins de dépannage au moyen du commutateur -c :

<drive>\<path>\sqlbrowser.exe -c

Sécurité

Privilèges de compte

SQL Server Browser est à l'écoute d'un port UDP et accepte les demandes non authentifiées via le protocole SSRP (SQL Server Resolution Protocol). SQL Server Browser doit être exécuté dans le contexte de sécurité d'un utilisateur doté de faibles privilèges afin de limiter les risques d'une attaque malveillante. Le compte de connexion peut être modifié à partir du Gestionnaire de configuration SQL Server. Les droits d'utilisateur minimaux pour SQL Server Browser sont les suivants :

  • Refuser l'accès à cet ordinateur à partir du réseau
  • Refuser les ouvertures de session locales
  • Refuser l’ouverture de session en tant que tâche
  • Interdire l'ouverture de session par les services Terminal Server
  • Ouvrir une session en tant que service
  • Lire et écrire les clés de Registre SQL Server relatives à la communication réseau (ports et canaux de communication)

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 compte domain\local
  • Le compte de service local (non disponible sur les plateformes W2K)
  • Le compte système local (non recommandé car doté de 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 2005, définissez l'indicateur HideInstance pour indiquer que SQL Server Browser ne doit pas répondre par des informations sur cette instance de serveur. SQL Server Browser prend également en charge la méthode de masquage d'instances de SQL Server 2000, activée en définissant l'option HideServer via l'utilitaire réseau du serveur. Pour plus d'informations sur la configuration de l'option HideServer, consultez « Procédure : masquer une instance du moteur de base de données SQL Server » dans la documentation en ligne de SQL Server.

Utilisation d'un pare-feu

Pour communiquer avec le service SQL Server Browser sur un serveur situé derrière un pare-feu, ouvrez le port UDP 1434 en plus du port TCP utilisé par SQL Server (par ex., le port 1433). Pour plus d'informations sur l'utilisation d'un pare-feu, consultez « Procédure : configurer un pare-feu pour accéder à SQL Server » dans la documentation en ligne de SQL Server.

Historique des modifications

Version Historique

14 avril 2006

Contenu modifié :
  • Clarification de la section « Utilisation de SQL Server Browser » afin d'indiquer que la liste fait référence aux types de connexions qui requièrent le service SQL Server Browser.

5 décembre 2005

Contenu modifié :
  • Révision de la liste décrivant les circonstances où le service SQL Server Browser est automatiquement démarré.