SQL Server Browser Service

  • 14-03-2017
  • 6 minutter at læse
    • m
    • M
    • M
    • J
    • c
    • +3

Gælder for: SQL Server (alle understøttede versioner) – kun Windows Azure SQL Managed Instance

SQL ServerBrowser-programmet kører som en Windows-tjeneste. SQL Server Browser lytter efter indgående anmodninger om Microsoft SQL Server-ressourcer og giver oplysninger om SQL Server-instanser, der er installeret på computeren. SQL Server Browser bidrager til følgende handlinger:

  • Bruger en liste over tilgængelige servere

  • Oprettelse af forbindelse til den korrekte serverinstans

  • Oprettelse af forbindelse til DAC-slutpunkter (dedicated administrator connection)

For hver instans af Database Engine og SSAS leverer SQL Server Browser-tjenesten (sqlbrowser) instansnavnet og versionsnummeret. SQL Server Browser installeres sammen med SQL Server.

SQL Server Browser kan konfigureres under installationen eller ved hjælp af SQL Server Configuration Manager. Som standard starter SQL Server Browser-tjenesten automatisk:

  • Ved opgradering af en installation.

  • Ved installation på en klynge.

  • Ved installation af en navngiven instans af databasemotoren, herunder alle instanser af SQL Server Express.

  • Ved installation af en navngiven instans af Analysis Services.

Baggrund

Fra før SQL Server 2000 (8.x) kunne der kun installeres én instans af SQL Server på en computer. SQL Server lyttede efter indgående anmodninger på port 1433, som er tildelt SQL Server af den officielle Internet Assigned Numbers Authority (IANA). Kun én instans af SQL Server kan bruge en port, så da SQL Server 2000 (8.x) indførte understøttelse af flere instanser af SQL Server, blev SQL Server Resolution Protocol (SSRP) udviklet til at lytte på UDP-port 1434. Denne lyttetjeneste svarede på klientforespørgsler med navnene på de installerede instanser og de porte eller navngivne pipes, der anvendes af instansen. For at løse begrænsningerne i SSRP-systemet indførte SQL Server 2005 (9.x) tjenesten SQL Server Browser som erstatning for SSRP.

Sådan fungerer SQL Server Browser

Når en instans af SQL Server starter, tildeles serveren en TCP/IP-port, hvis TCP/IP-protokollen er aktiveret for SQL Server. Hvis protokollen named pipes er aktiveret, lytter SQL Server på en bestemt named pipe. Denne port eller “pipe” bruges af den specifikke instans til at udveksle data med klientprogrammer. Under installationen tildeles TCP-port 1433 og pipe \sql\query til standardinstansen, men disse kan senere ændres af serveradministratoren ved hjælp af SQL Server Configuration Manager. Da kun én instans af SQL Server kan bruge en port eller pipe, tildeles der forskellige portnumre og pipe-navne for navngivne instanser, herunder SQL Server Express. Når de er aktiveret, er både navngivne instanser og SQL Server Express som standard konfigureret til at bruge dynamiske porte, dvs. at der tildeles en tilgængelig port, når SQL Server starter. Hvis du ønsker det, kan der tildeles en specifik port til en instans af SQL Server. Når klienterne opretter forbindelse, kan de angive en bestemt port; men hvis porten er dynamisk tildelt, kan portnummeret ændres hver gang SQL Server genstartes, så det korrekte portnummer er ukendt for klienten.

Ved opstart starter SQL Server Browser og gør krav på UDP-port 1434. SQL Server Browser læser registreringsdatabasen, identificerer alle instanser af SQL Server på computeren og noterer de porte og navngivne pipes, som de bruger. Når en server har to eller flere netværkskort, returnerer SQL Server Browser den første aktiverede port, den støder på, til SQL Server. SQL Server Browser understøtter ipv6 og ipv4.

Når SQL Server-klienter anmoder om SQL Server-ressourcer, sender klientens netværksbibliotek en UDP-meddelelse til serveren ved hjælp af port 1434. SQL Server Browser svarer med TCP/IP-porten eller den navngivne pipe for den anmodede instans. Netværksbiblioteket i klientprogrammet afslutter derefter forbindelsen ved at sende en anmodning til serveren ved hjælp af porten eller den navngivne pipe for den ønskede instans.

Informationer om start og stop af SQL Server Browser-tjenesten findes i SQL Server Books Online.

Brug af SQL Server Browser

Hvis SQL Server Browser-tjenesten ikke kører, kan du stadig oprette forbindelse til SQL Server, hvis du angiver det korrekte portnummer eller den korrekte navngivne pipe. Du kan f.eks. oprette forbindelse til standardinstansen af SQL Server med TCP/IP, hvis den kører på port 1433.

Hvis SQL Server Browser-tjenesten ikke kører, fungerer følgende forbindelser imidlertid ikke:

  • En komponent, der forsøger at oprette forbindelse til en navngiven instans uden at angive alle parametre fuldt ud (f.eks. TCP/IP-porten eller den navngivne pipe).

  • En komponent, der genererer eller videregiver oplysninger om server\instans, som senere kan bruges af andre komponenter til at genoprette forbindelsen.

  • At oprette forbindelse til en navngiven instans uden at angive portnummer eller pipe.

  • DAC til en navngiven instans eller standardinstansen, hvis der ikke anvendes TCP/IP-port 1433.

  • Olap-omdirigeringstjenesten.

  • Nummerering af servere i SQL Server Management Studio, Enterprise Manager eller Query Analyzer.

Hvis du bruger SQL Server i et klient-server-scenarie (f.eks. når dit program får adgang til SQL Server på tværs af et netværk), skal du, hvis du stopper eller deaktiverer SQL Server Browser-tjenesten, tildele et bestemt portnummer til hver instans og skrive din klientprogramkode, så den altid bruger dette portnummer. Denne fremgangsmåde har følgende problemer:

  • Du skal opdatere og vedligeholde klientprogramkode for at sikre, at den opretter forbindelse til den korrekte port.

  • Den port, du vælger for hver instans, kan blive brugt af en anden tjeneste eller et andet program på serveren, hvilket medfører, at instansen af SQL Server ikke er tilgængelig.

Klynge

SQL Server Browser er ikke en klyngeressource og understøtter ikke failover fra den ene klyngenode til den anden. I tilfælde af en klynge skal SQL Server Browser derfor installeres og tændes for hver enkelt knude i klyngen. På klynger lytter SQL Server Browser på IP_ANY.

Note

Når du aktiverer lytning på IP_ANY, skal brugeren, når du aktiverer lytning på bestemte IP’er, konfigurere den samme TCP-port på hver IP, fordi SQL Server Browser returnerer det første IP/port-par, som den støder på.

Installation, afinstallering og kørsel fra kommandolinjen

SQL Server Browser-tjenesten afinstalleres, når den sidste instans af SQL Server fjernes.

SQL Server Browser kan startes fra kommandoprompten til fejlfinding ved at bruge kontakten -c:

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

Sikkerhed

Kontoprivilegier

SQL Server Browser lytter på en UDP-port og accepterer ikke-autentificerede anmodninger ved hjælp af SQL Server Resolution Protocol (SSRP). SQL Server Browser bør køres i sikkerhedskonteksten for en bruger med lave privilegier for at minimere eksponeringen for et ondsindet angreb. Logonkontoen kan ændres ved hjælp af SQL Server Configuration Manager. De minimale brugerrettigheder for SQL Server Browser er følgende:

  • Deny access to this computer from the network

  • Deny logon locally

  • Deny Log on as a batch job

  • Deny Log on through Terminal Services

  • Log on as a service

  • Læs og skriv SQL Server-registreringsnøgler relateret til netværkskommunikation (porte og rør)

Standardkonto

Setup konfigurerer SQL Server Browser til at bruge den konto, der er valgt til tjenester under installationen. Andre mulige konti omfatter følgende:

  • Et hvilket som helst domæne\lokal konto

  • Den lokale tjenestekonto

  • Den lokale systemkonto (anbefales ikke, da den har unødvendige privilegier)

Skjulte SQL Server

Skjulte instanser er instanser af SQL Server, der kun understøtter forbindelser med delt hukommelse. For SQL Server skal du indstille HideInstance-flaget for at angive, at SQL Server Browser ikke skal svare med oplysninger om denne serverinstans.

Brug af en firewall

For at kommunikere med SQL Server Browser-tjenesten på en server bag en firewall skal du åbne UDP-port 1434 ud over den TCP-port, der bruges af SQL Server (f.eks. 1433). Du kan finde oplysninger om at arbejde med en firewall under “Sådan gør du: Konfigurer en firewall til SQL Server-adgang” i SQL Server Books Online.

Se også

Netværksprotokoller og netværksbiblioteker

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.