SQL Server Browser Service

  • 14-03/2017
  • 6 minuter att läsa
    • m
    • M
    • M
    • J
    • c
    • +3

Gäller för: SQL Server (alla versioner som stöds) – endast Windows Azure SQL Managed Instance

SQL ServerBrowser-programmet körs som en Windows-tjänst. SQL Server Browser lyssnar på inkommande förfrågningar om Microsoft SQL Server-resurser och tillhandahåller information om SQL Server-instanser som är installerade på datorn. SQL Server Browser bidrar till följande åtgärder:

  • Bläddrar en lista över tillgängliga servrar

  • Kopplar upp till rätt serverinstans

  • Kopplar upp till slutpunkter för dedikerad administratörsanslutning (DAC)

För varje instans av databaskraftverket och SSAS tillhandahåller tjänsten SQL Server Browser (sqlbrowser) instansnamnet och versionsnumret. SQL Server Browser installeras tillsammans med SQL Server.

SQL Server Browser kan konfigureras under installationen eller med hjälp av SQL Server Configuration Manager. Som standard startar tjänsten SQL Server Browser automatiskt:

  • När du uppgraderar en installation.

  • När du installerar på ett kluster.

  • När du installerar en namngiven instans av databasmotorn inklusive alla instanser av SQL Server Express.

  • När du installerar en namngiven instans av Analysis Services.

Bakgrund

För SQL Server 2000 (8.x) kunde endast en instans av SQL Server installeras på en dator. SQL Server lyssnade på inkommande förfrågningar på port 1433, som tilldelats SQL Server av den officiella Internet Assigned Numbers Authority (IANA). Endast en instans av SQL Server kan använda en port, så när SQL Server 2000 (8.x) införde stöd för flera instanser av SQL Server utvecklades SQL Server Resolution Protocol (SSRP) för att lyssna på UDP-port 1434. Denna lyssnartjänst svarade på klientförfrågningar med namnen på de installerade instanserna och de portar eller namngivna pipes som används av instansen. För att lösa begränsningar i SSRP-systemet infördes SQL Server 2005 (9.x) tjänsten SQL Server Browser som ersättning för SSRP.

Hur SQL Server Browser fungerar

När en instans av SQL Server startar, om TCP/IP-protokollet är aktiverat för SQL Server, tilldelas servern en TCP/IP-port. Om protokollet named pipes är aktiverat lyssnar SQL Server på en specifik named pipe. Denna port, eller ”pipe”, används av den specifika instansen för att utbyta data med klientprogram. Under installationen tilldelas TCP-port 1433 och pipe \sql\query till standardinstansen, men dessa kan ändras senare av serveradministratören med hjälp av SQL Server Configuration Manager. Eftersom endast en instans av SQL Server kan använda en port eller pipe tilldelas olika portnummer och pipe-namn för namngivna instanser, inklusive SQL Server Express. När de är aktiverade är både namngivna instanser och SQL Server Express som standard konfigurerade för att använda dynamiska portar, det vill säga en tillgänglig port tilldelas när SQL Server startas. Om du vill kan en specifik port tilldelas en instans av SQL Server. När klienterna ansluter kan de ange en specifik port, men om porten tilldelas dynamiskt kan portnumret ändras närhelst SQL Server startas om, så det korrekta portnumret är okänt för klienten.

När SQL Server Browser startar vid uppstart startar den och gör anspråk på UDP-port 1434. SQL Server Browser läser registret, identifierar alla instanser av SQL Server på datorn och noterar de portar och namngivna pipes som de använder. När en server har två eller flera nätverkskort returnerar SQL Server Browser den första aktiverade porten den möter för SQL Server. SQL Server Browser stöder ipv6 och ipv4.

När SQL Server-klienter begär SQL Server-resurser skickar klientens nätverksbibliotek ett UDP-meddelande till servern via port 1434. SQL Server Browser svarar med TCP/IP-porten eller det namngivna röret för den begärda instansen. Nätverksbiblioteket i klientprogrammet avslutar sedan anslutningen genom att skicka en begäran till servern med hjälp av porten eller det namngivna röret för den önskade instansen.

Information om hur du startar och stoppar tjänsten SQL Server Browser finns i SQL Server Books Online.

Användning av SQL Server Browser

Om tjänsten SQL Server Browser inte körs kan du ändå ansluta till SQL Server om du anger rätt portnummer eller namngivet rör. Du kan till exempel ansluta till standardinstansen av SQL Server med TCP/IP om den körs på port 1433.

Om tjänsten SQL Server Browser inte körs fungerar dock inte följande anslutningar:

  • En komponent som försöker ansluta till en namngiven instans utan att ange alla parametrar fullt ut (t.ex. TCP/IP-port eller namngiven pipe).

  • En komponent som genererar eller skickar information om en server\instans som senare kan användas av andra komponenter för att återansluta.

  • Ansluta till en namngiven instans utan att ange portnummer eller pipe.

  • DAC till en namngiven instans eller standardinstansen om den inte använder TCP/IP-port 1433.

  • Olap-omdirigeringstjänsten.

  • Nummerering av servrar i SQL Server Management Studio, Enterprise Manager eller Query Analyzer.

Om du använder SQL Server i ett klient-server-scenario (t.ex. när ditt program får åtkomst till SQL Server över ett nätverk) måste du, om du stoppar eller inaktiverar tjänsten SQL Server Browser, tilldela varje instans ett specifikt portnummer och skriva koden för klientprogrammet så att den alltid använder det portnumret. Detta tillvägagångssätt har följande problem:

  • Du måste uppdatera och underhålla klientprogramkoden för att se till att den ansluter till rätt port.

  • Porten du väljer för varje instans kan användas av en annan tjänst eller ett annat program på servern, vilket gör att instansen av SQL Server inte är tillgänglig.

Klustering

SQL Server Browser är inte en klusterresurs och har inte stöd för failover från en klusternod till den andra. I ett kluster ska därför SQL Server Browser installeras och aktiveras för varje nod i klustret. På kluster lyssnar SQL Server Browser på IP_ANY.

Note

När du lyssnar på IP_ANY, när du aktiverar lyssning på specifika IP:er, måste användaren konfigurera samma TCP-port på varje IP, eftersom SQL Server Browser returnerar det första IP/port-paret som den möter.

Installation, avinstallation och körning från kommandoraden

Tjänsten SQL Server Browser avinstalleras när den sista instansen av SQL Server tas bort.

SQL Server Browser kan startas från kommandotolken för felsökning genom att använda växeln -c:

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

Säkerhet

Kontoprivilegier

SQL Server Browser lyssnar på en UDP-port och tar emot oautentiserade förfrågningar med hjälp av SQL Server Resolution Protocol (SSRP). SQL Server Browser bör köras i säkerhetskontexten för en användare med låga privilegier för att minimera exponeringen för en skadlig attack. Inloggningskontot kan ändras med hjälp av SQL Server Configuration Manager. De minsta användarrättigheterna för SQL Server Browser är följande:

  • Deny access till den här datorn från nätverket

  • Deny logon locally

  • Deny Log on as a batch job

  • Deny Log on through Terminal Services

  • Logga in som en service

  • Läs och skriv SQL Servers registernycklar som är relaterade till nätverkskommunikation (portar och pipes)

Standardkonto

Setup konfigurerar SQL Server Browser så att det konto som valts för tjänster under installationen används. Andra möjliga konton är följande:

  • Alla domäner\lokala konton

  • Det lokala tjänstekontot

  • Det lokala systemkontot (rekommenderas inte eftersom det har onödiga privilegier)

Hidda SQL Server

Dolda instanser är instanser av SQL Server som endast har stöd för anslutningar med delat minne. För SQL Server ställer du in flaggan HideInstance för att ange att SQL Server Browser inte ska svara med information om den här serverinstansen.

Användning av en brandvägg

Om du vill kommunicera med tjänsten SQL Server Browser på en server bakom en brandvägg öppnar du UDP-port 1434, utöver den TCP-port som används av SQL Server (t.ex. 1433). Information om hur du arbetar med en brandvägg finns i ”Hur man: Konfigurera en brandvägg för SQL Server-åtkomst” i SQL Server Books Online.

Se även

Nätverksprotokoll och nätverksbibliotek

Lämna ett svar

Din e-postadress kommer inte publiceras.