SQL Server Browser Service
- 14.3.2017
- 6 minut čtení
-
- m
- M
- M
- J
- c
-
+3
Týká se: SQL Server (všechny podporované verze) – pouze Windows Azure SQL Managed Instance
Program SQL ServerBrowser běží jako služba Windows. Program SQL Server Browser naslouchá příchozím požadavkům na prostředky Microsoft SQL Server a poskytuje informace o instancích SQL Serveru nainstalovaných v počítači. Prohlížeč SQL Server Browser se podílí na následujících činnostech:
-
Prohlížení seznamu dostupných serverů
-
Připojení ke správné instanci serveru
-
Připojení k vyhrazeným koncovým bodům připojení správce (DAC)
Pro každou instanci databázového stroje a SSAS poskytuje služba SQL Server Browser (sqlbrowser) název instance a číslo verze. Prohlížeč SQL Server Browser je nainstalován spolu se serverem SQL Server.
Prohlížeč SQL Server Browser lze nakonfigurovat během instalace nebo pomocí nástroje SQL Server Configuration Manager. Ve výchozím nastavení se služba SQL Server Browser spouští automaticky:
-
Při upgradu instalace.
-
Při instalaci na cluster.
-
Při instalaci pojmenované instance Database Engine včetně všech instancí SQL Server Express.
-
Při instalaci pojmenované instance Analysis Services.
Pozadí
Před SQL Serverem 2000 (8.x) bylo možné na počítač nainstalovat pouze jednu instanci SQL Serveru. Server SQL Server naslouchal příchozím požadavkům na portu 1433, který byl serveru SQL Server přidělen oficiální autoritou IANA (Internet Assigned Numbers Authority). Port může používat pouze jedna instance SQL Serveru, takže když byla v SQL Serveru 2000 (8.x) zavedena podpora více instancí SQL Serveru, byl vyvinut protokol SSRP (SQL Server Resolution Protocol), který naslouchá na portu UDP 1434. Tato služba naslouchání odpovídala na požadavky klientů s názvy nainstalovaných instancí a porty nebo pojmenovanými rourami používanými danou instancí. K vyřešení omezení systému SSRP zavedl SQL Server 2005 (9.x) jako náhradu za SSRP službu SQL Server Browser.
Jak funguje SQL Server Browser
Při spuštění instance SQL Serveru, pokud je pro SQL Server povolen protokol TCP/IP, je serveru přiřazen port TCP/IP. Pokud je povolen protokol pojmenovaných rour, server SQL Server naslouchá na konkrétní pojmenované rouře. Tento port nebo „rouru“ používá daná instance k výměně dat s klientskými aplikacemi. Během instalace jsou výchozí instanci přiřazeny port TCP 1433 a roura \sql\query
, které však může správce serveru později změnit pomocí nástroje SQL Server Configuration Manager. Protože port nebo rouru může používat pouze jedna instance SQL Serveru, jsou pro pojmenované instance, včetně SQL Server Express, přiřazena různá čísla portů a názvy rour. Ve výchozím nastavení, pokud je povoleno, jsou pojmenované instance i SQL Server Express nakonfigurovány tak, aby používaly dynamické porty, to znamená, že dostupný port je přiřazen při spuštění SQL Serveru. Pokud chcete, lze instanci SQL Serveru přiřadit konkrétní port. Při připojování mohou klienti zadat konkrétní port; pokud je však port přiřazen dynamicky, může se číslo portu kdykoli při restartu SQL Serveru změnit, takže správné číslo portu není klientovi známo.
Při spuštění se spustí prohlížeč SQL Serveru a požaduje port UDP 1434. Prohlížeč SQL Server Browser přečte registr, identifikuje všechny instance SQL Serveru v počítači a zaznamená porty a pojmenované kanály, které používají. Pokud má server dvě nebo více síťových karet, prohlížeč SQL Server Browser vrátí první povolený port, na který pro SQL Server narazí. Prohlížeč SQL Server Browser podporuje ipv6 a ipv4.
Když klienti SQL Serveru požadují prostředky SQL Serveru, klientská síťová knihovna odešle serveru zprávu UDP pomocí portu 1434. Prohlížeč SQL Server Browser odpoví portem TCP/IP nebo pojmenovanou rourou požadované instance. Síťová knihovna v klientské aplikaci pak dokončí připojení odesláním požadavku na server pomocí portu nebo pojmenované roury požadované instance.
Informace o spuštění a zastavení služby SQL Server Browser naleznete v části SQL Server Books Online.
Používání služby SQL Server Browser
Pokud není služba SQL Server Browser spuštěna, můžete se k serveru SQL Server připojit, pokud zadáte správné číslo portu nebo pojmenované roury. Například se můžete připojit k výchozí instanci SQL Serveru pomocí TCP/IP, pokud běží na portu 1433.
Jestliže však není spuštěna služba SQL Server Browser, nefungují následující připojení:
-
Každá komponenta, která se pokouší připojit k pojmenované instanci, aniž by plně zadala všechny parametry (například port TCP/IP nebo pojmenovaný kanál).
-
Jakákoli komponenta, která generuje nebo předává informace o instanci serveru, které by později mohly být použity jinými komponentami k opětovnému připojení.
-
Připojení k pojmenované instanci bez zadání čísla portu nebo roury.
-
Připojení k pojmenované instanci nebo výchozí instanci, pokud nepoužívá port TCP/IP 1433.
-
Služba přesměrování OLAP.
-
Připojení k serverům v aplikaci SQL Server Management Studio, Enterprise Manager nebo Query Analyzer.
Používáte-li SQL Server ve scénáři klient-server (například když vaše aplikace přistupuje k SQL Serveru přes síť), pokud zastavíte nebo zakážete službu SQL Server Browser, musíte každé instanci přiřadit konkrétní číslo portu a napsat kód klientské aplikace tak, aby toto číslo portu vždy používala. Tento přístup má následující problémy:
-
Musíte aktualizovat a udržovat kód klientské aplikace, aby bylo zajištěno připojení ke správnému portu.
-
Port, který zvolíte pro každou instanci, může být používán jinou službou nebo aplikací na serveru, což způsobí nedostupnost instance SQL Serveru.
Klastrování
Prohlížeč SQL Serveru není clusterový prostředek a nepodporuje převzetí služeb při selhání z jednoho uzlu clusteru na druhý. V případě clusteru by proto měl být prohlížeč SQL Server Browser nainstalován a zapnut pro každý uzel clusteru. V clusterech naslouchá prohlížeč SQL Server Browser na IP_ANY.
Poznámka
Při naslouchání na IP_ANY, když povolíte naslouchání na konkrétních IP, musí uživatel nakonfigurovat stejný port TCP na každé IP, protože prohlížeč SQL Server Browser vrací první dvojici IP/port, na kterou narazí.
Instalace, odinstalace a spouštění z příkazového řádku
Služba SQL Server Browser se odinstaluje při odebrání poslední instance SQL Serveru.
Službu SQL Server Browser lze spustit z příkazového řádku pro řešení problémů pomocí přepínače -c:
<drive>\<path>\sqlbrowser.exe -c
Zabezpečení
Privilegia k účtu
Služba SQL Server Browser naslouchá na portu UDP a přijímá neověřené požadavky pomocí protokolu SSRP (SQL Server Resolution Protocol). Prohlížeč SQL Server Browser by měl být spuštěn v bezpečnostním kontextu uživatele s nízkými právy, aby se minimalizovalo vystavení škodlivému útoku. Přihlašovací účet lze změnit pomocí nástroje SQL Server Configuration Manager. Minimální uživatelská práva pro SQL Server Browser jsou následující:
-
Zakázat přístup k tomuto počítači ze sítě
-
Zakázat přihlášení lokálně
-
Zakázat přihlášení jako dávková úloha
-
Zakázat přihlášení prostřednictvím terminálové služby
-
Přihlásit se jako. služba
-
Číst a zapisovat klíče registru SQL Serveru týkající se síťové komunikace (porty a roury)
Výchozí účet
Nastavení nakonfiguruje prohlížeč SQL Serveru tak, aby používal účet vybraný pro služby během nastavení. Mezi další možné účty patří následující:
-
Jakýkoli doménový\místní účet
-
Místní účet služby
-
Místní systémový účet (nedoporučuje se, protože má zbytečná oprávnění)
Skrytý SQL Server
Skryté instance jsou instance SQL Serveru, které podporují pouze připojení ke sdílené paměti. U SQL Serveru nastavte příznak HideInstance
, který označuje, že služba SQL Server Browser nemá odpovídat informacemi o této instanci serveru.
Použití firewallu
Chcete-li komunikovat se službou SQL Server Browser na serveru za firewallem, otevřete kromě portu TCP používaného SQL Serverem (např. 1433) také port UDP 1434. Informace o práci s bránou firewall naleznete v části „Jak na to: Konfigurace brány firewall pro přístup k SQL Serveru“ v SQL Server Books Online.
Viz také
Síťové protokoly a síťové knihovny
.