SQL Server Browser Service

  • 03/14/2017
  • 6 minuten om te lezen
    • m
    • M
    • M
    • J
    • c
    • +3

Geldt voor: SQL Server (alle ondersteunde versies) – alleen Windows Azure SQL Managed Instance

Het SQL ServerBrowser-programma wordt uitgevoerd als een Windows-service. SQL Server Browser luistert naar inkomende verzoeken voor Microsoft SQL Server resources en biedt informatie over SQL Server instances die op de computer zijn geïnstalleerd. SQL Server Browser draagt bij aan de volgende acties:

  • Bekijken van een lijst met beschikbare servers

  • Verbinden met de juiste serverinstantie

  • Verbinden met dedicated administrator connection (DAC) endpoints

Voor elke instantie van de Database Engine en SSAS levert de SQL Server Browser service (sqlbrowser) de naam van de instantie en het versienummer. SQL Server Browser wordt geïnstalleerd met SQL Server.

SQL Server Browser kan worden geconfigureerd tijdens de setup of door gebruik te maken van SQL Server Configuration Manager. Standaard start de SQL Server Browser-service automatisch:

  • Bij het upgraden van een installatie.

  • Bij het installeren op een cluster.

  • Bij het installeren van een met name genoemde instance van de Database Engine, inclusief alle instances van SQL Server Express.

  • Bij het installeren van een met name genoemde instantie van Analysis Services.

Achtergronden

Vóór SQL Server 2000 (8.x) kon slechts één instantie van SQL Server op een computer worden geïnstalleerd. SQL Server luisterde naar inkomende verzoeken op poort 1433, die aan SQL Server was toegewezen door de officiële Internet Assigned Numbers Authority (IANA). Slechts één instantie van SQL Server kan gebruik maken van een poort, dus toen SQL Server 2000 (8.x) ondersteuning introduceerde voor meerdere instanties van SQL Server, werd SQL Server Resolution Protocol (SSRP) ontwikkeld om te luisteren op UDP poort 1434. Deze listener service antwoordde op client verzoeken met de namen van de geïnstalleerde instanties en de poorten of named pipes die door de instantie werden gebruikt. Om de beperkingen van het SSRP-systeem op te lossen, introduceerde SQL Server 2005 (9.x) de SQL Server Browser-service als vervanging voor SSRP.

Hoe SQL Server Browser Werkt

Wanneer een instantie van SQL Server wordt gestart, wordt aan de server een TCP/IP-poort toegewezen als het TCP/IP-protocol voor SQL Server is ingeschakeld. Als het named pipes protocol is ingeschakeld, luistert SQL Server op een specifieke named pipe. Deze poort, of “pipe”, wordt door die specifieke instantie gebruikt om gegevens uit te wisselen met client-toepassingen. Tijdens de installatie worden TCP-poort 1433 en pipe \sql\query toegewezen aan de standaard instance, maar deze kunnen later door de serverbeheerder worden gewijzigd met behulp van SQL Server Configuration Manager. Omdat slechts één SQL Server-instantie een poort of pipe kan gebruiken, worden verschillende poortnummers en pipe-namen toegewezen voor named instances, waaronder SQL Server Express. Standaard zijn, indien ingeschakeld, zowel named instances als SQL Server Express geconfigureerd om dynamische poorten te gebruiken, dat wil zeggen dat een beschikbare poort wordt toegewezen wanneer SQL Server start. Indien gewenst kan een specifieke poort worden toegewezen aan een instantie van SQL Server. Bij het verbinden kunnen clients een specifieke poort opgeven; maar als de poort dynamisch is toegewezen, kan het poortnummer telkens wanneer SQL Server opnieuw wordt gestart veranderen, zodat het juiste poortnummer onbekend is voor de client.

Bij het opstarten start SQL Server Browser op en claimt UDP-poort 1434. SQL Server Browser leest het register, identificeert alle instanties van SQL Server op de computer, en noteert de poorten en named pipes die ze gebruiken. Wanneer een server twee of meer netwerkkaarten heeft, geeft SQL Server Browser de eerste ingeschakelde poort die het tegenkomt voor SQL Server. SQL Server Browser ondersteunt ipv6 en ipv4.

Wanneer SQL Server-clients SQL Server-bronnen aanvragen, stuurt de client-netwerkbibliotheek een UDP-bericht naar de server via poort 1434. SQL Server Browser antwoordt met de TCP/IP-poort of named pipe van de aangevraagde instantie. De netwerkbibliotheek op de client-toepassing voltooit vervolgens de verbinding door een verzoek naar de server te sturen met gebruikmaking van de poort of named pipe van de gewenste instance.

Voor informatie over het starten en stoppen van de SQL Server Browser service, zie SQL Server Books Online.

De SQL Server Browser

Als de SQL Server Browser service niet draait, kunt u nog steeds verbinding maken met SQL Server als u het juiste poortnummer of named pipe opgeeft. U kunt bijvoorbeeld verbinding maken met de standaard SQL Server instance met TCP/IP als deze draait op poort 1433.

Als de SQL Server Browser service echter niet draait, werken de volgende verbindingen niet:

  • Elk onderdeel dat probeert verbinding te maken met een genoemde instantie zonder alle parameters (zoals de TCP/IP-poort of named pipe) volledig op te geven.

  • Elke component die serverinstance-informatie genereert of doorgeeft die later door andere componenten kan worden gebruikt om opnieuw verbinding te maken.

  • Verbinding maken met een genoemde instantie zonder het poortnummer of de named pipe op te geven.

  • Het maken van een verbinding met een met name genoemde instantie of de standaardinstantie als TCP/IP-poort 1433 niet wordt gebruikt.

  • De OLAP redirector-service.

  • Het opsommen van servers in SQL Server Management Studio, Enterprise Manager of Query Analyzer.

Als u SQL Server in een client-server-scenario gebruikt (bijvoorbeeld wanneer uw toepassing SQL Server via een netwerk benadert), moet u, als u de SQL Server Browser-service stopt of uitschakelt, een specifiek poortnummer toewijzen aan elke instantie en uw clienttoepassingscode zo schrijven dat dit poortnummer altijd wordt gebruikt. Deze aanpak heeft de volgende problemen:

  • U moet de code van de clienttoepassing bijwerken en onderhouden om ervoor te zorgen dat er verbinding wordt gemaakt met de juiste poort.

  • De poort die u voor elke instantie kiest, kan door een andere service of toepassing op de server worden gebruikt, waardoor de instantie van SQL Server niet beschikbaar is.

Clustering

SQL Server Browser is geen geclusterde bron en biedt geen ondersteuning voor failover van het ene clusterknooppunt naar het andere. Daarom moet SQL Server Browser in het geval van een cluster worden geïnstalleerd en ingeschakeld voor elke node van het cluster. Op clusters luistert SQL Server Browser op IP_ANY.

Note

Wanneer u het luisteren op IP_ANY op specifieke IP’s inschakelt, moet de gebruiker op elk IP dezelfde TCP-poort configureren, omdat SQL Server Browser het eerste IP/poort-paar dat het tegenkomt, retourneert.

Installeren, de-installeren en uitvoeren vanaf de opdrachtregel

De SQL Server Browser service wordt verwijderd wanneer de laatste instantie van SQL Server wordt verwijderd.

SQL Server Browser kan worden gestart vanaf de command prompt voor troubleshooting, door gebruik te maken van de -c switch:

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

Veiligheid

Account Privileges

SQL Server Browser luistert op een UDP poort en accepteert ongeauthenticeerde verzoeken door gebruik te maken van SQL Server Resolution Protocol (SSRP). SQL Server Browser moet worden uitgevoerd in de beveiligingscontext van een gebruiker met lage privileges om blootstelling aan een kwaadwillige aanval te minimaliseren. De aanmeldingsaccount kan worden gewijzigd met behulp van de SQL Server Configuration Manager. De minimale gebruikersrechten voor SQL Server Browser zijn de volgende:

  • Geen toegang tot deze computer via het netwerk

  • Geen lokale aanmelding

  • Geen aanmelding als een batchtaak

  • Geen aanmelding via Terminal Services

  • Inloggen als een service

  • Lezen en schrijven van de SQL Server-registersleutels met betrekking tot netwerkcommunicatie (poorten en pipes)

Standaardaccount

Setup configureert SQL Server Browser om de account te gebruiken die tijdens de setup is geselecteerd voor services. Andere mogelijke accounts zijn de volgende:

  • Elke domein-lokale account

  • De lokale service-account

  • De lokale systeemaccount (niet aanbevolen omdat deze onnodige privileges heeft)

Verborgen SQL Server

Verborgen instanties zijn instanties van SQL Server die alleen verbindingen met gedeeld geheugen ondersteunen. Voor SQL Server moet u de vlag HideInstance instellen om aan te geven dat SQL Server Browser niet mag reageren met informatie over deze serverinstantie.

Gebruik van een firewall

Om te communiceren met de SQL Server Browser service op een server achter een firewall, opent u UDP-poort 1434, naast de TCP-poort die door SQL Server wordt gebruikt (bijv. 1433). Voor informatie over het werken met een firewall, zie “How to: Configureer een firewall voor SQL Server-toegang” in SQL Server Books Online.

Zie ook

Netwerkprotocollen en netwerkbibliotheken

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.