Serviço SQL Server Browser (Mecanismo de Banco de Dados e SSAS)

O programa Navegador do SQL Server é executado como um serviço do Windows. O Navegador do SQL Server escuta as solicitações de entrada de recursos do Microsoft SQL Server e fornece informações sobre as instâncias do SQL Server instaladas no computador. O Navegador do SQL Server contribui para as seguintes ações:

  • Navegando em uma lista de servidores disponíveis

  • Conectando-se à instância de servidor correta

  • Conectando-se aos pontos de extremidade da conexão de administrador dedicada (DAC)

Para cada instância do Mecanismo de Banco de Dados e do SSAS, o serviço Navegador do SQL Server (sqlbrowser) fornece o nome da instância e o número da versão. O Navegador do SQL Server é instalado com o SQL Server.

O navegador do SQL Server pode ser configurado durante a instalação ou por meio do SQL Server Configuration Manager. Por padrão, o serviço Navegador do SQL Server é iniciado automaticamente:

  • Quando uma instalação é atualizada.

  • Quando um cluster é instalado.

  • Quando uma instância nomeada do Mecanismo de Banco de Dados é instalada, inclusive todas as instâncias do SQL Server Express.

  • Quando uma instância nomeada do Analysis Services é instalada.

Plano de fundo

Antes do SQL Server 2000, somente uma instância do SQL Server poderia ser instalada em um computador. O SQL Server ouviu as solicitações de entrada na porta 1433, atribuídas ao SQL Server pela IANA (Autoridade de Números Atribuídos na Internet) oficial. Apenas uma instância do SQL Server pode usar uma porta; por isso, quando o SQL Server 2000 introduziu suporte para várias instâncias do SQL Server, o protocolo SSRP (SQL Server Resolution Protocol) foi desenvolvido para escutar na porta UDP 1434. Esse serviço de escuta respondia a solicitações de clientes com o nome das instâncias instaladas e as portas ou pipes nomeados utilizados pela instância. Para resolver as limitações de sistema do SSRP, o SQL Server 2005 introduziu o serviço Navegador do SQL Server como um substituto para o SSRP.

Como funciona o SQL Server Browser

Quando uma instância do SQL Server for iniciada, se o protocolo TCP/IP estiver habilitado para o SQL Server, será atribuída uma porta TCP/IP ao servidor. Se o protocolo Pipes Nomeados estiver habilitado, o SQL Server escutará um determinado pipe nomeado. Essa porta, ou "pipe", será utilizado por aquela instância específica para trocar dados com os aplicativos clientes. Durante a instalação, a porta 1433 no TCP e o pipe \sql\query são atribuídos à instância padrão, mas esses podem ser alterados posteriormente pelo administrador de servidor usando o SQL Server Configuration Manager. Devido a apenas uma instância do SQL Server poder usar uma porta ou um pipe, diferentes números de porta e nomes de pipe são atribuídos a instâncias nomeadas, inclusive o SQL Server Express. Por padrão, quando habilitado, ambas as instâncias nomeadas e o SQL Server Express são configurados para usar portas dinâmicas, ou seja, será atribuída uma porta disponível quando o SQL Server for iniciado. Se você desejar, pode-se atribuir uma porta específica a uma instância do SQL Server. Ao se conectar, os clientes podem determinar uma porta específica, mas se a porta for atribuída dinamicamente, o número da porta poderá ser alterado a qualquer momento em que o SQL Server for reinicializado. Portanto, o número correto da porta será desconhecido para o cliente.

Na inicialização, o Navegador do SQL Server é iniciado e reivindica a porta UDP 1434. O Navegador do SQL Server lê o Registro, identifica todas as instâncias do SQL Server existentes no computador e anota as portas e os pipes nomeados utilizados. Quando um servidor tiver dois ou mais placas de rede, o Navegador do SQL Server retornará para a primeira porta habilitada que encontrar para o SQL Server. O Navegador do SQL Server oferece suporte ao IPv6 e ao IPv4. O Navegador do SQL Server não retorna informações de porta da instância padrão.

Quando os clientes do SQL Server solicitam recursos do SQL Server, a biblioteca de rede do cliente envia uma mensagem UDP ao servidor usando a porta 1434. O Navegador do SQL Server responde com a porta TCP/IP ou o pipe nomeado da instância solicitada. Em seguida, a biblioteca de rede no aplicativo cliente completa a conexão, enviando uma solicitação ao servidor utilizando a porta ou o pipe nomeado da instância desejada.

Para obter informações sobre como iniciar e interromper o serviço Navegador do SQL Server, consulte Iniciar, parar, pausar, retomar, reiniciar o mecanismo de banco de dados, o SQL Server Agent ou o serviço SQL Server Browser.

Utilizando o SQL Server Browser

Se o serviço Navegador do SQL Server não estiver sendo executado, você ainda poderá se conectar ao SQL Server, caso forneça o número correto da porta ou o pipe nomeado. Por exemplo, você poderá se conectar à instância padrão do SQL Server com o TCP/IP se ele estiver sendo executado na porta 1433.

Porém, se o serviço Navegador do SQL Server não estiver sendo executado, as seguintes conexões não funcionarão:

  • Qualquer componente que tente conectar-se a uma instância nomeada sem especificar completamente todos os parâmetros (como a porta do TCP/IP ou o pipe nomeado).

  • Qualquer componente que gere ou passe informações de servidor\instância que possa ser utilizada posteriormente por outros componentes para se reconectar.

  • Conectando-se a uma instância nomeada sem fornecer o número da porta ou pipe.

  • Uma DAC para uma instância nomeada ou para uma instância padrão se não utilizar a porta 1433 do TCP/IP.

  • O serviço redirecionador do OLAP (Online Analytical Processing).

  • Enumerar servidores no SQL Server Management Studio, no Enterprise Manager ou no Query Analyzer.

Se você estiver usando o SQL Server em um cenário cliente-servidor (por exemplo, quando seu aplicativo estiver acessando o SQL Server por uma rede), caso você pare ou desabilite o serviço Navegador do SQL Server, você deverá atribuir um número de porta específico a cada instância e gravar seu código de aplicativo cliente para sempre usar aquele número de porta. Esta abordagem tem os seguintes problemas:

  • Você deve atualizar e manter o código de aplicativo cliente para assegurar que ele se conectará à porta correta.

  • A porta que você escolhe para cada instância pode ser utilizada por outro serviço ou aplicativo no servidor, tornando a instância do SQL Server indisponível.

Clustering

O Navegador do SQL Server não é um recurso clusterizado e não dá suporte a failover de um nó de cluster para outro. Portanto, no caso de um cluster, o Navegador do SQL Server deve ser instalado e ativado para cada nó do cluster. Em clusters, o Navegador do SQL Server escuta em IP_ANY.

ObservaçãoObservação

Quando escutar em IP_ANY e habilitar a escuta em IPs específicos, o usuário deverá configurar a mesma porta do TCP em cada IP, pois o Navegador do SQL Server retorna ao primeiro par de IP/porta que ele encontrar.

Instalando, desinstalando e executando a partir da linha de comandos

Por padrão, o programa de Navegador do SQL Server é instalado em C:\Arquivos de Programas (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe.

O serviço Navegador do SQL Server será desinstalado quando a última instância do SQL Server for removida.

O Navegador do SQL Server pode ser iniciado no prompt de comando para solução de problemas por meio da opção -c:

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

Segurança

Privilégios da conta

O Navegador do SQL Server escuta em uma porta UDP e aceita as solicitações não autenticadas usando SSRP (SQL Server Resolution Protocol). O Navegador do SQL Server deve ser executado no contexto de segurança de um usuário com privilégios baixos para minimizar exposição a um ataque mal-intencionado. A conta de logon pode ser alterada com o Gerenciador de Configurações do SQL Server. Os direitos mínimos do usuário para o Navegador do SQL Server são os seguintes:

  • Negar acesso a este computador pela rede

  • Negar logon localmente

  • Negar logon como um trabalho em lotes

  • Negar Logon pelos Serviços de Terminal

  • Fazer logon como um serviço

  • Ler e gravar as chaves do Registro do SQL Server relacionadas à comunicação de rede (portas e pipes)

Conta padrão

O programa de instalação configura o Navegador do SQL Server para usar durante a instalação, a conta selecionada para serviços. Outras contas possíveis incluem:

  • Qualquer conta domínio\local

  • A conta serviço local

  • A conta sistema local (não recomendada por ter privilégios desnecessários)

Ocultando o SQL Server

As instâncias ocultas são instâncias do SQL Server que dão suporte apenas a conexões de memória compartilhada. Para o SQL Server, defina o sinalizador de HideInstance para indicar que o Navegador do SQL Server não deve responder com informações sobre essa instância de servidor.

Usando um firewall

Para comunicar-se com o serviço Navegador do SQL Server em um servidor por trás de um firewall, abra a porta UDP 1434, além da porta TCP usada pelo SQL Server (por exemplo, 1433). Para obter informações sobre como trabalhar com um firewall, consulte "Como configurar um firewall para acessar o SQL Server" nos Manuais Online do SQL Server.

Consulte também

Referência

Protocolos de rede e bibliotecas de rede