Servizio SQL Server Browser (Motore database e SSAS)

Si applica a:yes SQL Server (tutte le versioni supportate)

Il programma SQL ServerBrowser viene eseguito come servizio Windows. SQL Server Browser ascolta le richieste in ingresso per le risorse di Microsoft SQL Server e fornisce informazioni sulle istanze di SQL Server installate nel computer. SQL Server Browser contribuisce alle azioni seguenti:

  • Esplorazione di un elenco di server disponibili

  • Connessione all'istanza del server corretta

  • Connessione a endpoint della connessione amministrativa dedicata (DAC)

Per ogni istanza del motore di database e SSAS, il servizio SQL Server Browser (sqlbrowser) fornisce il nome dell'istanza e il numero di versione. SQL Server Browser è installato con SQL Server.

SQL Server Browser può essere configurato durante l'installazione o usando Gestione configurazione SQL Server. Per impostazione predefinita, il servizio SQL Server Browser viene avviato automaticamente:

  • Durante l'aggiornamento di un'installazione.

  • Durante l'installazione in un cluster.

  • Quando si installa un'istanza denominata del motore di database, incluse tutte le istanze di SQL Server Express.

  • Durante l'installazione di un'istanza denominata di Analysis Services.

Sfondo

Prima di SQL Server 2000 (8.x), è possibile installare solo un'istanza di SQL Server in un computer. SQL Server ha ascoltato le richieste in ingresso sulla porta 1433, assegnate a SQL Server dall'autorità ufficiale dei numeri assegnati a Internet (IANA). Solo un'istanza di SQL Server può usare una porta, quindi quando SQL Server 2000 (8.x) ha introdotto il supporto per più istanze di SQL Server, SQL Server Resolution Protocol (SSRP) è stato sviluppato per l'ascolto sulla porta UDP 1434. Il servizio listener risponde alle richieste del client con i nomi delle istanze installate e le porte o le named pipe usate dall'istanza. Per risolvere le limitazioni del sistema SSRP, SQL Server 2005 (9.x) ha introdotto il servizio SQL Server Browser come sostituzione di SSRP.

Funzionamento di SQL Server Browser

Quando viene avviata un'istanza di SQL Server, se il protocollo TCP/IP è abilitato per SQL Server, il server viene assegnato a una porta TCP/IP. Se il protocollo named pipe è abilitato, SQL Server è in ascolto in una pipe denominata specifica. Questa porta, o "pipe", viene usata dall'istanza specifica per scambiare dati con le applicazioni client. Durante l'installazione, la porta TCP 1433 e la pipe \sql\query vengono assegnate all'istanza predefinita, ma queste possono essere modificate in un secondo momento dall'amministratore del server tramite GESTIONE configurazione SQL Server. Poiché solo un'istanza di SQL Server può usare una porta o una pipe, vengono assegnati nomi di porta e pipe diversi per le istanze denominate, tra cui SQL Server Express. Per impostazione predefinita, quando è abilitata, le istanze denominate e SQL Server Express sono configurate per l'uso di porte dinamiche, ovvero una porta disponibile viene assegnata all'avvio di SQL Server. Se si vuole, è possibile assegnare una porta specifica a un'istanza di SQL Server. Quando ci si connette, i client possono specificare una porta specifica; ma se la porta viene assegnata dinamicamente, il numero di porta può modificare ogni volta che SQL Server viene riavviato, quindi il numero di porta corretto è sconosciuto al client.

All'avvio, SQL Server Browser avvia e dichiara la porta UDP 1434. SQL Server Browser legge il Registro di sistema, identifica tutte le istanze di SQL Server nel computer e annota le porte e le pipe denominate usate. Quando un server dispone di due o più schede di rete, SQL Server Browser restituisce la prima porta abilitata che rileva per SQL Server. SQL Server Browser supporta ipv6 e ipv4.

Quando i client SQL Server richiedono risorse di SQL Server, la libreria di rete client invia un messaggio UDP al server usando la porta 1434. SQL Server Browser risponde con la porta TCP/IP o la pipe denominata dell'istanza richiesta. La libreria di rete dell'applicazione client completa quindi la connessione inviando una richiesta al server tramite la porta o la named pipe dell'istanza desiderata. Il servizio SQL Server Browser non fornisce la risoluzione delle porte per le istanze predefinite.

Per informazioni sull'avvio e l'arresto del servizio SQL Server Browser, vedere Avviare, Arrestare, Sospendere, Riprendere, Riavviare il motore di database, SQL Server Agent o il servizio SQL Server Browser.

Utilizzo di SQL Server Browser

Se il servizio SQL Server Browser non è in esecuzione, è comunque possibile connettersi a SQL Server se si specifica il numero di porta o la pipe denominata corretti. Ad esempio, è possibile connettersi all'istanza predefinita di SQL Server con TCP/IP se è in esecuzione sulla porta 1433.

Tuttavia, se il servizio SQL Server Browser non è in esecuzione, le connessioni seguenti non funzionano:

  • Qualsiasi componente che tenta di eseguire la connessione a un'istanza denominata senza specificare completamente i parametri, ad esempio la porta TCP/IP o la named pipe.

  • Qualsiasi componente che genera o passa informazioni server/istanza che potrebbero essere usate in seguito da altri componenti per eseguire nuovamente la connessione.

  • Connessione a un'istanza denominata senza indicare il numero di porta o la pipe.

  • Connessione amministrativa dedicata (DAC) a un'istanza denominata o all'istanza predefinita se non si usano la porta TCP/IP 1433.

  • Servizio redirector OLAP.

  • Enumerazione dei server in SQL Server Management Studio, Enterprise Manager o Query Analyzer.

Se si usa SQL Server in uno scenario client-server ,ad esempio quando l'applicazione accede a SQL Server in una rete, se si arresta o si disabilita il servizio SQL Server Browser, è necessario assegnare un numero di porta specifico a ogni istanza e scrivere il codice dell'applicazione client per usare sempre tale numero di porta. Questo approccio comporta i problemi indicati di seguito.

  • È necessario aggiornare e mantenere aggiornato il codice dell'applicazione client per assicurarsi che si connetta alla porta corretta.

  • La porta scelta per ogni istanza può essere usata da un altro servizio o applicazione nel server, causando l'istanza di SQL Server non disponibile.

Clustering

SQL Server Browser non è una risorsa cluster e non supporta il failover da un nodo del cluster all'altro. Pertanto, nel caso di un cluster, SQL Server Browser deve essere installato e attivato per ogni nodo del cluster. Nei cluster, SQL Server Browser è in ascolto in IP_ANY.

Nota

Quando si esegue l'ascolto su IP_ANY, quando si abilita l'ascolto su indirizzi IP specifici, l'utente deve configurare la stessa porta TCP in ogni INDIRIZZO IP, perché SQL Server Browser restituisce la prima coppia IP/porta che rileva.

Installazione, disinstallazione ed esecuzione dalla riga di comando

Per impostazione predefinita, il programma SQL Server Browser viene installato in C:\Programmi (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe.

Il servizio SQL Server Browser viene disinstallato quando viene rimossa l'ultima istanza di SQL Server.

SQL Server Browser può essere avviato dal prompt dei comandi per la risoluzione dei problemi usando l'opzione -c :

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

Sicurezza

Privilegi dell'account

SQL Server Browser è in ascolto su una porta UDP e accetta richieste non autenticate usando SQL Server Resolution Protocol (SSRP). SQL Server Browser deve essere eseguito nel contesto di sicurezza di un utente con privilegi bassi per ridurre al minimo l'esposizione a un attacco dannoso. L'account di accesso può essere modificato usando Gestione configurazione SQL Server. I diritti utente minimi per SQL Server Browser sono i seguenti:

  • Nega accesso al computer dalla rete

  • Nega accesso locale

  • Nega accesso come processo batch

  • Nega accesso tramite Servizi terminal

  • Accedi come servizio

  • Leggere e scrivere le chiavi del Registro di sistema di SQL Server correlate alla comunicazione di rete (porte e pipe)

Account predefinito

L'installazione configura SQL Server Browser per usare l'account selezionato per i servizi durante l'installazione. Tra gli altri account possibili sono inclusi i seguenti:

  • Tutti gli account di dominio\locali

  • Account Servizio locale

  • Account Sistema locale (sconsigliabile perché include privilegi non necessari)

Istanze nascoste di SQL Server

Le istanze nascoste sono istanze di SQL Server che supportano solo connessioni di memoria condivise. Per SQL Server, impostare il HideInstance flag per indicare che SQL Server Browser non deve rispondere con informazioni su questa istanza del server.

Utilizzo di un firewall

Per comunicare con il servizio SQL Server Browser in un server dietro un firewall, aprire la porta UDP 1434, oltre alla porta TCP usata da SQL Server (ad esempio 1433). Per informazioni sull'uso di un firewall, vedere "Procedura: Configurare un firewall per l'accesso a SQL Server" nella documentazione online di SQL Server.

Vedere anche

Protocolli e librerie di rete
Nascondere un'istanza del motore di database di SQL Server