SQL Server Browser Service
- 03/14/2017
- 6 minute de citit
-
- . m
- M
- M
- J
- c
-
+3
Se aplică la: SQL Server (toate versiunile acceptate) – numai pentru Windows Azure SQL Managed Instance
Programul SQL ServerBrowser rulează ca un serviciu Windows. SQL Server Browser ascultă cererile primite pentru resursele Microsoft SQL Server și oferă informații despre instanțele SQL Server instalate pe computer. SQL Server Browser contribuie la următoarele acțiuni:
-
Cercetarea unei liste de servere disponibile
-
Conectarea la instanța de server corectă
-
Conectarea la punctele finale de conexiune dedicată a administratorului (DAC)
Pentru fiecare instanță a motorului de baze de date și SSAS, serviciul SQL Server Browser (sqlbrowser) furnizează numele instanței și numărul de versiune. SQL Server Browser este instalat împreună cu SQL Server.
SQL Server Browser poate fi configurat în timpul instalării sau prin utilizarea SQL Server Configuration Manager. În mod implicit, serviciul SQL Server Browser pornește automat:
-
Când se actualizează o instalare.
-
Când se instalează pe un cluster.
-
Când se instalează o instanță numită a motorului de baze de date, inclusiv toate instanțele de SQL Server Express.
-
Când se instalează o instanță cu nume de Analysis Services.
Context
Până la SQL Server 2000 (8.x), pe un calculator se putea instala doar o singură instanță de SQL Server. SQL Server asculta cererile primite pe portul 1433, atribuit lui SQL Server de către autoritatea oficială IANA (Internet Assigned Numbers Authority). Doar o singură instanță de SQL Server poate utiliza un port, așa că atunci când SQL Server 2000 (8.x) a introdus suportul pentru mai multe instanțe de SQL Server, a fost dezvoltat SQL Server Resolution Protocol (SSRP) pentru a asculta pe portul UDP 1434. Acest serviciu de ascultare a răspuns la solicitările clienților cu numele instanțelor instalate și porturile sau țevile denumite utilizate de instanță. Pentru a rezolva limitările sistemului SSRP, SQL Server 2005 (9.x) a introdus serviciul SQL Server Browser ca înlocuitor pentru SSRP.
Cum funcționează SQL Server Browser
Când o instanță de SQL Server pornește, dacă protocolul TCP/IP este activat pentru SQL Server, serverului i se atribuie un port TCP/IP. Dacă protocolul named pipes este activat, SQL Server ascultă pe o anumită țeavă numită. Acest port, sau „țeavă”, este utilizat de acea instanță specifică pentru a face schimb de date cu aplicațiile client. În timpul instalării, portul TCP 1433 și pipe \sql\query
sunt atribuite instanței implicite, dar acestea pot fi modificate ulterior de către administratorul serverului cu ajutorul SQL Server Configuration Manager. Deoarece numai o singură instanță a SQL Server poate utiliza un port sau o țeavă, se atribuie numere de port și nume de țeavă diferite pentru instanțele denumite, inclusiv SQL Server Express. În mod implicit, atunci când sunt activate, atât instanțele numite, cât și SQL Server Express sunt configurate pentru a utiliza porturi dinamice, adică un port disponibil este atribuit la pornirea SQL Server. Dacă doriți, un port specific poate fi atribuit unei instanțe SQL Server. La conectare, clienții pot specifica un port specific; dar dacă portul este atribuit dinamic, numărul portului se poate schimba de fiecare dată când SQL Server este repornit, astfel încât numărul corect al portului este necunoscut clientului.
La pornire, SQL Server Browser pornește și revendică portul UDP 1434. SQL Server Browser citește registrul, identifică toate instanțele de SQL Server de pe computer și notează porturile și țevile numite pe care le utilizează. Atunci când un server are două sau mai multe plăci de rețea, SQL Server Browser returnează primul port activat pe care îl întâlnește pentru SQL Server. SQL Server Browser suportă ipv6 și ipv4.
Când clienții SQL Server solicită resurse SQL Server, biblioteca de rețea a clientului trimite un mesaj UDP către server folosind portul 1434. SQL Server Browser răspunde cu portul TCP/IP sau cu pipe-ul numit al instanței solicitate. Biblioteca de rețea de pe aplicația client completează apoi conexiunea trimițând o cerere către server folosind portul sau conducta numită a instanței dorite.
Pentru informații despre pornirea și oprirea serviciului SQL Server Browser, consultați SQL Server Books Online.
Utilizarea SQL Server Browser
Dacă serviciul SQL Server Browser nu rulează, sunteți în continuare capabil să vă conectați la SQL Server dacă furnizați numărul de port sau conducta numită corectă. De exemplu, vă puteți conecta la instanța implicită a SQL Server cu TCP/IP dacă aceasta rulează pe portul 1433.
Dar, dacă serviciul SQL Server Browser nu rulează, următoarele conexiuni nu funcționează:
-
Care componentă care încearcă să se conecteze la o instanță numită fără a specifica complet toți parametrii (cum ar fi portul TCP/IP sau conducta numită).
-
Care componentă care generează sau transmite informații despre server\instanță care ar putea fi utilizate ulterior de alte componente pentru a se reconecta.
-
Conectarea la o instanță numită fără a furniza numărul portului sau conducta.
-
DAC la o instanță numită sau la instanța implicită dacă nu se utilizează portul TCP/IP 1433.
-
Serviciul de redirecționare OLAP.
-
Enumerarea serverelor în SQL Server Management Studio, Enterprise Manager sau Query Analyzer.
Dacă utilizați SQL Server într-un scenariu client-server (de exemplu, când aplicația dumneavoastră accesează SQL Server printr-o rețea), dacă opriți sau dezactivați serviciul SQL Server Browser, trebuie să atribuiți un număr de port specific fiecărei instanțe și să scrieți codul aplicației dumneavoastră client pentru a utiliza întotdeauna acel număr de port. Această abordare are următoarele probleme:
-
Trebuie să actualizați și să mențineți codul aplicației client pentru a vă asigura că se conectează la portul corespunzător.
-
Portul pe care îl alegeți pentru fiecare instanță poate fi utilizat de un alt serviciu sau aplicație de pe server, ceea ce face ca instanța de SQL Server să fie indisponibilă.
Clustering
SQL Server Browser nu este o resursă clusterizată și nu suportă failover de la un nod cluster la altul. Prin urmare, în cazul unui cluster, SQL Server Browser trebuie instalat și pornit pentru fiecare nod al clusterului. În cazul clusterelor, SQL Server Browser ascultă pe IP_ANY.
Nota
În cazul ascultării pe IP_ANY, atunci când activați ascultarea pe IP-uri specifice, utilizatorul trebuie să configureze același port TCP pe fiecare IP, deoarece SQL Server Browser returnează prima pereche IP/port pe care o întâlnește.
Instalarea, dezinstalarea și rularea din linia de comandă
Serviciul SQL Server Browser este dezinstalat atunci când este eliminată ultima instanță a SQL Server.
SQL Server Browser poate fi pornit din linia de comandă pentru depanare, utilizând comutatorul -c:
<drive>\<path>\sqlbrowser.exe -c
Securitate
Privilegii de cont
SQL Server Browser ascultă pe un port UDP și acceptă cereri neautentificate prin utilizarea SQL Server Resolution Protocol (SSRP). SQL Server Browser ar trebui să fie rulat în contextul de securitate al unui utilizator cu privilegii scăzute pentru a minimiza expunerea la un atac malițios. Contul de conectare poate fi modificat cu ajutorul SQL Server Configuration Manager. Drepturile minime ale utilizatorului pentru SQL Server Browser sunt următoarele:
-
Încetează accesul la acest computer din rețea
-
Încetează logarea la nivel local
-
Încetează logarea ca o sarcină de lucru pe loturi
-
Încetează logarea prin Terminal Services
-
Încetează logarea ca o sarcină de lucru pe loturi. service
-
Citește și scrie cheile de registru SQL Server legate de comunicarea în rețea (porturi și țevi)
Default Account
Setup configurează SQL Server Browser pentru a utiliza contul selectat pentru servicii în timpul configurării. Alte conturi posibile includ următoarele:
Contul local al oricărui domeniu
Contul local de servicii
Contul local de sistem (nerecomandat deoarece are privilegii inutile)
Contul SQL Server ascuns
Incursurile ascunse sunt instanțe ale SQL Server care acceptă numai conexiuni de memorie partajată. Pentru SQL Server, setați stegulețul HideInstance
pentru a indica faptul că SQL Server Browser nu trebuie să răspundă cu informații despre această instanță de server.
Utilizarea unui firewall
Pentru a comunica cu serviciul SQL Server Browser pe un server aflat în spatele unui firewall, deschideți portul UDP 1434, în plus față de portul TCP utilizat de SQL Server (de exemplu, 1433). Pentru informații despre lucrul cu un firewall, consultați „How to: Configurarea unui firewall pentru accesul la SQL Server” în SQL Server Books Online.
Citește și
Protocoale de rețea și biblioteci de rețea
.