SQL Server Browser Service

  • 03/14/2017
  • 6 minutes de lecture
    • . m
    • M
    • M
    • J
    • c
    • +3

S’applique à : SQL Server (toutes les versions prises en charge) – Windows uniquement Azure SQL Managed Instance

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 :

  • Recherche d’une liste de serveurs disponibles

  • Connexion à l’instance de serveur correcte

  • Connexion aux points de terminaison de 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 SQL Server.

SQL Server Browser peut être configuré pendant l’installation ou en utilisant SQL Server Configuration Manager. Par défaut, le service SQL Server Browser démarre automatiquement :

  • Lors de la mise à niveau d’une installation.

  • Lors de l’installation sur un cluster.

  • Lors de l’installation d’une instance nommée du moteur de base de données, y compris toutes les instances de SQL Server Express.

  • Lors de l’installation d’une instance nommée de Analysis Services.

Background

Avant SQL Server 2000 (8.x), une seule instance de SQL Server pouvait être installée sur un ordinateur. SQL Server écoutait les demandes entrantes sur le port 1433, attribué à SQL Server par l’autorité officielle des numéros attribués sur Internet (IANA). Une seule instance de SQL Server peut utiliser un port, aussi, lorsque SQL Server 2000 (8.x) a introduit la prise en charge de plusieurs instances de SQL Server, le protocole de résolution de SQL Server (SSRP) a été développé pour écouter le port UDP 1434. Ce service d’écoute répondait aux demandes des clients en indiquant les noms des instances installées, ainsi que les ports ou les tuyaux nommés utilisés par l’instance. Pour résoudre les limitations du système SSRP, SQL Server 2005 (9.x) a introduit le service SQL Server Browser en remplacement de SSRP.

Comment fonctionne SQL Server Browser

Lorsqu’une instance de SQL Server démarre, si le protocole TCP/IP est activé pour SQL Server, un port TCP/IP est attribué au serveur. Si le protocole des tuyaux nommés est activé, SQL Server écoute sur un tuyau nommé spécifique. Ce port, ou « tuyau », est utilisé par cette instance spécifique pour échanger des données avec les applications clientes. Lors de l’installation, le port TCP 1433 et le tuyau \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 de SQL Server Configuration Manager. Comme une seule instance de SQL Server peut utiliser un port ou un tuyau, des numéros de port et des noms de tuyau différents sont attribués aux instances nommées, y compris SQL Server Express. Par défaut, lorsqu’ils sont activés, les instances nommées et SQL Server Express sont configurés pour utiliser des ports dynamiques, c’est-à-dire qu’un port disponible est attribué au démarrage de SQL Server. Si vous le souhaitez, 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 redémarrage de SQL Server, de sorte que 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 tuyaux nommés qu’ils utilisent. Lorsqu’un serveur possède deux cartes réseau ou plus, SQL Server Browser renvoie le premier port activé qu’il rencontre pour SQL Server. SQL Server Browser prend en charge ipv6 et ipv4.

Lorsque les clients SQL Server demandent des ressources SQL Server, la bibliothèque réseau du client envoie un message UDP au serveur en utilisant le port 1434. Le navigateur SQL Server répond avec le port TCP/IP ou le tuyau nommé de l’instance demandée. La bibliothèque réseau de l’application client complète ensuite la connexion en envoyant une requête au serveur à l’aide du port ou du tuyau nommé de l’instance souhaitée.

Pour plus d’informations sur le démarrage et l’arrêt du service SQL Server Browser, consultez SQL Server Books Online.

Utilisation de SQL Server Browser

Si le service SQL Server Browser n’est pas en cours d’exécution, vous êtes toujours en mesure de vous connecter à SQL Server si vous fournissez le numéro de port ou le tuyau nommé correct. Par exemple, vous pouvez vous connecter à l’instance par défaut de SQL Server avec TCP/IP si elle s’exécute sur le port 1433.

En revanche, si le service SQL Server Browser ne s’exécute pas, les connexions suivantes ne fonctionnent pas :

  • Tout composant qui tente de se connecter à une instance nommée sans spécifier complètement tous les paramètres (tels que le port TCP/IP ou le tuyau nommé).

  • Tout composant qui génère ou transmet des informations de server\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 tuyau.

  • Connexion à une instance nommée ou à l’instance par défaut si elle n’utilise pas le port TCP/IP 1433.

  • Le service redirecteur OLAP.

  • Enumération des serveurs dans SQL Server Management Studio, Enterprise Manager ou Query Analyzer.

Si vous utilisez SQL Server dans un scénario client-serveur (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 attribuer un numéro de port spécifique à chaque instance et écrire le code de votre application client pour toujours utiliser ce numéro de port. Cette approche présente les problèmes suivants :

  • Vous devez mettre à jour et maintenir le code de l’application client 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 rend l’instance de SQL Server indisponible.

Clustering

SQL Server Browser n’est pas une ressource clusterisée 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. Sur les clusters, SQL Server Browser écoute sur IP_ANY.

Note

Lors de l’écoute sur IP_ANY, lorsque vous activez l’écoute sur des IP spécifiques, l’utilisateur doit configurer le même port TCP sur chaque IP, car SQL Server Browser renvoie la première paire IP/port qu’il rencontre.

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

Le service SQL Server Browser est désinstallé lorsque la dernière instance de SQL Server est supprimée.

SQL Server Browser peut être lancé à partir de l’invite de commande pour le dépannage, en utilisant le commutateur -c :

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

Sécurité

Privilèges de compte

SQL Server Browser écoute sur un port UDP et accepte les demandes non authentifiées en utilisant le protocole de résolution du serveur SQL (SSRP). SQL Server Browser doit être exécuté dans le contexte de sécurité d’un utilisateur faiblement privilégié afin de minimiser l’exposition à une attaque malveillante. Le compte de connexion peut être modifié à l’aide du gestionnaire de configuration de SQL Server. Les droits d’utilisateur minimums pour SQL Server Browser sont les suivants :

  • Interdire l’accès à cet ordinateur à partir du réseau

  • Interdire la connexion locale

  • Interdire la connexion en tant que travail par lot

  • Interdire la connexion par l’intermédiaire de Terminal Services

  • La connexion en tant que… service

  • Lire et écrire les clés de registre de SQL Server liées à la communication réseau (ports et tuyaux)

Compte par défaut

L’installation configure SQL Server Browser pour utiliser le compte sélectionné pour les services lors de l’installation. Les autres comptes possibles sont les suivants :

  • Tout compte de domaine\local

  • Le compte de service local

  • Le compte système local (non recommandé car il possède des privilèges inutiles)

Cacher SQL Server

Les instances cachées sont des instances de SQL Server qui ne prennent en charge que les connexions à 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, voir « How to : Configurer un pare-feu pour l’accès à SQL Server » dans SQL Server Books Online.

Voir aussi

Protocoles réseau et bibliothèques réseau

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.