Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il programma SQL ServerBrowser viene eseguito come servizio Windows. SQL Server Browser rimane in ascolto delle richieste in arrivo per le risorse di Microsoft SQL Server e offre informazioni sulle istanze di SQL Server installate nel computer. SQL Server Browser contribuisce alle azioni seguenti:
Esplorazione di un elenco di server disponibili
Connessione alla corretta istanza del server
Connessione agli endpoint dedicati per l'amministrazione
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 viene installato con SQL Server.
SQL Server Browser può essere configurato durante l'installazione o tramite Gestione configurazione SQL Server. Per impostazione predefinita, il servizio SQL Server Browser viene avviato automaticamente:
Durante l'aggiornamento di un'installazione.
Quando si installa su un cluster.
Quando si installa un'istanza denominata del motore di database, incluse tutte le istanze di SQL Server Express.
Quando si installa un'istanza denominata di Analysis Services.
Sfondo
Prima di SQL Server 2000, è possibile installare una sola 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 ha introdotto il supporto per più istanze di SQL Server, è stato sviluppato SQL Server Resolution Protocol (SSRP) per l'ascolto sulla porta UDP 1434. Questo servizio listener ha risposto alle richieste client con i nomi delle istanze installate e le porte o le pipe con nome usate dall'istanza. Per risolvere le limitazioni del sistema SSRP, SQL Server 2005 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, al server viene assegnata una porta TCP/IP. Se il protocollo named pipes è abilitato, SQL Server ascolta su una named pipe specifica. Questa porta, o "pipe", viene usata da tale istanza specifica per scambiare dati con 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, incluso SQL Server Express. Per impostazione predefinita, se abilitata, entrambe 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. Durante la connessione, i client possono specificare una porta specifica; ma se la porta viene assegnata dinamicamente, il numero di porta può cambiare ogni volta che SQL Server viene riavviato, in modo che il numero di porta corretto sia 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 named pipe 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 DI 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 named pipe dell'istanza richiesta. La libreria di rete nell'applicazione client completa quindi la connessione inviando una richiesta al server usando la porta o la named pipe dell'istanza desiderata. SQL Server Browser non restituisce informazioni sulla porta per l'istanza predefinita.
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.
Uso 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 corretto o la named pipe. 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 connettersi a un'istanza denominata senza specificare completamente tutti i parametri, ad esempio la porta TCP/IP o la named pipe.
Qualsiasi componente che genera o passa informazioni su server\istanza che potrebbero essere usate successivamente da altri componenti per riconnettersi.
Connessione a un'istanza denominata senza fornire il numero di porta o la pipe.
DAC a Un'istanza denominata o all'istanza predefinita se non si utilizza la porta TCP/IP 1433.
Servizio di reindirizzamento 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 presenta i problemi seguenti:
È necessario aggiornare e gestire 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 la mancata disponibilità dell'istanza di SQL Server.
Raggruppamento
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 su IP_ANY.
Annotazioni
Quando si è in ascolto su IP_ANY, quando si abilita l'ascolto su indirizzi IP specifici, l'utente deve configurare la stessa porta TCP su ogni 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:\Program Files (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
Permessi dell'account
SQL Server Browser è in ascolto su una porta UDP e accetta richieste non autenticate tramite SSRP (SQL Server Resolution Protocol). SQL Server Browser deve essere eseguito nel contesto di sicurezza di un utente con privilegi limitati per ridurre al minimo l'esposizione a un attacco dannoso. L'account di accesso può essere modificato tramite Gestione configurazione SQL Server. I diritti utente minimi per SQL Server Browser sono i seguenti:
Nega accesso al computer dalla rete
Nega accesso in locale
Nega accesso come processo batch
Negare l'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
Il programma di installazione configura SQL Server Browser per l'uso dell'account selezionato per i servizi durante l'installazione. Possibili altri account includono i seguenti:
Qualsiasi dominio\account locale
Account del servizio locale
L'account di sistema locale (non consigliato perché dispone di privilegi non necessari)
Nascondere SQL Server
Le istanze nascoste sono istanze di SQL Server che supportano solo connessioni di memoria condivisa. Per SQL Server, impostare il HideInstance flag per indicare che SQL Server Browser non deve rispondere con informazioni su questa istanza del server.
Uso di un firewall
Per comunicare con il servizio SQL Server Browser in un server protetto da 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.